inpsyde/multilingualpress2to3

此包已废弃,不再维护。未建议替代包。

一个 WP 插件,允许从 MultilingualPress 版本 2 迁移数据到版本 3。

安装: 188

依赖: 0

建议者: 0

安全: 0

星标: 4

关注者: 10

分支: 2

开放问题: 3

类型:wordpress-plugin

v0.1.0-alpha2 2019-12-27 15:10 UTC

README

一个 WP 插件,允许从 MultilingualPress 版本 2 迁移数据到版本 3。

不再维护

注意:此仓库不再维护。

安装

迁移工具是 WP CLI 命令,作为常规 WP 插件提供。按照安装其他插件的方式安装,例如以下方式之一

  • 如果有可用的构建版本,可以从 ZIP 文件安装。
  • 使用 Composer 安装: composer require inpsyde/multilingualpress2to3:^0.1
  • 将仓库克隆到您的 plugins 目录。

要求

  1. MLP3 必须包含在 eebfc1bv2.11.3)中做出的更改。

    这是为了满足要求 4

  2. MLP2 必须包含在 7dccc9c3.2.0)中的更改。

    这是为了防止 MLP2 在卸载时自动删除 site_relations 表。该表在 MLP2 和 MLP3 中具有相同的名称,因此应在 MLP2 卸载后保留。

  3. 此插件必须处于活动状态。

    它注册了 WP CLI 命令,并且为了满足要求 4 也是必要的。

  4. 迁移期间 MLP3 必须处于活动状态。

    • 该工具假设要迁移数据的表已经创建。
    • 该工具使用 MLP3 类公开的一些信息
      • 语言表结构,以创建临时表。
  5. 所有选项表必须有相同的校对。

    这是为了在这些表上运行 UNION 查询,这对于迁移重定向是必需的。

使用方法

  1. 备份您的数据库!
  2. 确保 所有 3 个插件都 已安装但未激活MLP2MLP3、迁移(此插件)。
  3. 激活迁移插件。
  4. 激活 MLP3。
  5. 运行迁移,即 wp mlp2to3 all,并确保所有迁移都成功完成。
  6. 取消激活并然后点击“删除”按钮 卸载 MLP2。
  7. 取消激活并卸载迁移插件。

您还可以运行 wp help mlp2to3 以查看所有可用参数和标志。

有关更详细的说明,请参阅文档

已知限制

  1. 在迁移语言仓库时,大多数语言都将迁移。

    理想情况下,只有自定义(修改过的)语言会被迁移。然而,在当前状态下,无法确定哪些语言与默认设置不同。由于MLP2和MLP3中的语言默认设置之间存在不一致,最佳的可比较策略确定大多数MLP2语言与MLP3默认设置不同。这导致自定义语言被迁移,但也迁移了超过一百个其他语言。

开发

此项目使用Docker进行测试和开发。因此,您必须拥有Docker ToolboxDocker Desktop——适用于您的平台——以便使用捆绑的开发和测试环境。

依赖管理

在克隆项目后,您需要安装与项目目标环境兼容的依赖项。环境已经存在,是test Docker Compose服务。如果您在Windows上使用MinTTY/GitBash或类似工具,可能需要使用winpty实用程序,通过将其作为运行在docker中的命令的前缀来使用。

认证

然而,在此之前,您需要配置Composer认证。这是因为一些依赖项是私有包(目前是MLP3插件包),因此该项目使用Packagist.com。显然,由于技术细节,认证信息缺失于此包中,您需要自行配置。在项目根目录下运行以下命令:

composer config --auth http-basic.repo.packagist.com <your-username> <your-token>

这将创建一个包含这些凭证的auth.json文件,该文件被设置为Git忽略——这些都是您的个人详细信息,请不要提交它们!

安装依赖项

配置认证后,只需在test容器中运行composer install

docker-compose run test composer install

或者,当您需要更新依赖项(例如,您可能添加了一些)时,运行以下命令代替

docker-compose run test composer update

查看网站

如果您需要在开发期间预览某些视觉内容,您需要访问WordPress测试站点。这被设置为wordpress服务。只需访问Docker机器的IP地址。

$ docker-machine ip
192.168.99.100

如果您使用的是某些原生解决方案而不是显式使用Docker Machine,则IP地址很可能是您的localhost

访问数据库

数据库位于mysql服务中。您可以使用主机机的IP地址(见上文的解释)通过端口8082连接到它。使用用户root和密码wordpress

或者,您可以通过访问端口号1234的机器来使用phpMyAdmin,这将由phpmyadmin服务处理。

测试

项目的测试也由适当的Docker服务处理。

验收

我们使用Codeception运行验收测试,这就是codecept服务的作用。

使用以下命令在codecept服务中运行acceptance套件:

docker-compose run codecept run acceptance

构建

本项目使用Phing来运行与构建过程相关的任务。测试服务已经满足了所有环境依赖。因此,要创建一个发布版本,只需在测试容器中运行phing,例如,要将此包作为mlp2to3以版本0.1.0-alpha1发布,请运行以下命令:

docker-compose run test vendor/bin/phing release -Dversion=0.1.0-alpha1 -Dbuild_name=mlp2to3

这将在build/release目录中创建一个带时间戳的存档,包含已检出分支当前状态的构建版本。时间戳允许同一版本的多个构建不发生冲突。存档的命名将与构建名称相同,加上版本,加上时间戳,例如mlp2to3-0.1.0-alpha1-2019.06.03-14.31.zip。此外,文件还将放置在一个以构建命名的目录中,以满足WordPress插件的要求。