inpsyde / multilingualpress2to3
一个 WP 插件,允许从 MultilingualPress 版本 2 迁移数据到版本 3。
Requires
- php: ^7.0.33
- ext-json: *
- dhii/di: ^0.2-alpha1
- dhii/i18n-interface: ^0.2
- dhii/memoize-memory: ^0.2-alpha1
- dhii/stringable-interface: ^0.1
- dhii/wp-containers: 0.1.0-alpha1
- dhii/wp-i18n: dev-develop
- psr/container: ^1.0
Requires (Dev)
- brain/monkey: ^2
- codeception/codeception: ^2.5
- gmazzap/andrew: ^1.1
- hoa/consistency: ^1.17.05.02
- inpsyde/multilingual-press: ^2.11.3
- inpsyde/multilingualpress: ^3.2.0
- inpsyde/php-coding-standards: ^0.13
- phing/phing: ^2
- phpunit/phpunit: ^6
- symfony/browser-kit: >=2.7 <=4.2.4
- wp-cli/wp-cli: ^2
This package is auto-updated.
Last update: 2021-11-12 12:32:16 UTC
README
一个 WP 插件,允许从 MultilingualPress 版本 2 迁移数据到版本 3。
不再维护
注意:此仓库不再维护。
安装
迁移工具是 WP CLI 命令,作为常规 WP 插件提供。按照安装其他插件的方式安装,例如以下方式之一
- 如果有可用的构建版本,可以从 ZIP 文件安装。
- 使用 Composer 安装:
composer require inpsyde/multilingualpress2to3:^0.1
。 - 将仓库克隆到您的
plugins
目录。
要求
-
MLP3 必须包含在
eebfc1b
(v2.11.3
)中做出的更改。这是为了满足要求 4。
-
MLP2 必须包含在
7dccc9c
(3.2.0
)中的更改。这是为了防止 MLP2 在卸载时自动删除
site_relations
表。该表在 MLP2 和 MLP3 中具有相同的名称,因此应在 MLP2 卸载后保留。 -
此插件必须处于活动状态。
它注册了 WP CLI 命令,并且为了满足要求 4 也是必要的。
-
迁移期间 MLP3 必须处于活动状态。
- 该工具假设要迁移数据的表已经创建。
- 该工具使用 MLP3 类公开的一些信息
- 语言表结构,以创建临时表。
-
所有选项表必须有相同的校对。
这是为了在这些表上运行
UNION
查询,这对于迁移重定向是必需的。
使用方法
- 备份您的数据库!
- 确保 所有 3 个插件都 已安装但未激活: MLP2、MLP3、迁移(此插件)。
- 激活迁移插件。
- 激活 MLP3。
- 运行迁移,即
wp mlp2to3 all
,并确保所有迁移都成功完成。 - 取消激活并然后点击“删除”按钮 卸载 MLP2。
- 取消激活并卸载迁移插件。
您还可以运行 wp help mlp2to3
以查看所有可用参数和标志。
有关更详细的说明,请参阅文档。
已知限制
-
在迁移语言仓库时,大多数语言都将迁移。
理想情况下,只有自定义(修改过的)语言会被迁移。然而,在当前状态下,无法确定哪些语言与默认设置不同。由于MLP2和MLP3中的语言默认设置之间存在不一致,最佳的可比较策略确定大多数MLP2语言与MLP3默认设置不同。这导致自定义语言被迁移,但也迁移了超过一百个其他语言。
开发
此项目使用Docker进行测试和开发。因此,您必须拥有Docker Toolbox或Docker 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插件的要求。