配置Data Migration Tool
安装Data Migration Tool后,以下目录包含映射和配置文件:
-
Magento Open Source:
<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/opensource-to-opensource
:从Magento Open Source1迁移到Magento Open Source2的配置和脚本
-
Adobe Commerce:
<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/opensource-to-commerce
:从Magento Open Source1迁移到Adobe Commerce 2的配置和脚本<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/commerce-to-commerce
:从Adobe Commerce 1迁移到Adobe Commerce 2的配置和脚本
上述目录包含每个受支持版本的子目录。
配置迁移
有两种方法可配置Data Migration Tool:
- 在单独的模块中配置Data Migration Tool(推荐)
- 更改
<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/
目录中的Data Migration Tool配置。
要使用源代码管理迁移配置并将其用于部署,您必须创建一个单独的模块。
如果您计划仅在本地运行Data Migration Tool,则可以直接编辑<your Magento 2 install dir>/vendor/magento/data-migration-tool/
目录中的文件。
在单独的模块中配置迁移
在迁移任何数据之前,必须创建Magento2模块。
-
创建Magento2模块。
<your Magento 2 install dir>/app/code/Vendor/Migration/composer.json
code language-json { "name": "vendor/migration", "description": "Providing config for migration", "config": { "sort-packages": true }, "require": { "magento/framework": "*", "magento/data-migration-tool": "*" }, "type": "magento2-module", "autoload": { "files": [ "registration.php" ], "psr-4": { "Vendor\\Migration\\": "" } }, "version": "1.0.0" }
<your Magento 2 install dir>/app/code/Vendor/Migration/registration.php
code language-php <?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Vendor_Migration', __DIR__ );
<your Magento 2 install dir>/app/code/Vendor/Migration/etc/module.xml
code language-xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Vendor_Migration" setup_version="1.0.0"> <sequence> <module name="Magento_DataMigrationTool"/> </sequence> </module> </config>
-
将
config.xml.dist
配置文件从Data Migration Tool (<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/<migration edition>/<ce or version>
)的相应目录复制到<your Magento 2 install dir>/app/code/Vendor/Migration/etc/<migration edition>/<ce or version>/config.xml
文件中。例如,如果将
Magento 1.9.3.6 Community Edition
迁移到Magento 2 Open Source
:code language-bash cd <your Magento 2 install dir>
code language-bash cp vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.3.6/config.xml.dist app/code/Vendor/Migration/etc/opensource-to-opensource/1.9.3.6/config.xml
-
在
config.xml
文件中,必须设置M1和M2数据库的访问详细信息以及加密密钥。 -
如果M1存储区有自定义更改,则应将其余配置文件映射到Magento1存储区自定义设置。 请参阅使用配置和映射文件。
在vendor
文件夹中配置迁移
在迁移任何数据之前,必须从提供的示例中创建config.xml
配置文件。
要配置Data Migration Tool以进行迁移,请执行以下操作:
-
以文件系统所有者的身份登录或切换到您的应用程序服务器。
-
切换到以下目录:
code language-bash <your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/<migration edition>/<ce or version>
-
输入以下命令以从提供的示例创建
config.xml
:code language-bash cp config.xml.dist config.xml
-
在文本编辑器中打开
config.xml
。 -
config.xml文件至少必须包含对M1和M2数据库的访问详细信息以及加密密钥。
code language-xml <source> <database host="127.0.0.1" name="magento1" user="root"/> </source> <destination> <database host="127.0.0.1" name="magento2" user="root"/> </destination> <options> <crypt_key /> </options>
<crypt_key>标记必须包含一个值。 您可以在
<key>
标记中找到它,该标记位于Magento1实例上的app/etc/local.xml文件中。可选参数:
- 数据库用户密码:
password=<password>
- 数据库自定义端口:
port=<port>
- 表前缀:
<source_prefix>
,<dest_prefix>
例如,如果数据库所有者的用户名是
root
,密码为pass
,而您在Magento1数据库中使用前缀magento1
,请在config.xml
中使用以下内容:code language-xml <source> <database host="127.0.0.1" name="magento1" user="root" password="pass"/> </source> <destination> <database host="127.0.0.1" name="magento2" user="root" password="pass"/> </destination> <options> <source_prefix>magento1</source_prefix> <crypt_key>f3e25abe619dae2387df9fs594f01985</crypt_key> </options>
- 数据库用户密码:
完成后,将更改保存到config.xml
并退出文本编辑器。
使用TLS协议连接
您还可以使用TLS协议(即使用公共/专用加密密钥)连接到数据库。 将以下可选属性添加到database
元素:
ssl_ca
ssl_cert
ssl_key
例如:
<source>
<database host="localhost" name="magento1" user="root" ssl_ca="/path/to/file" ssl_cert="/path/to/file" ssl_key="/path/to/file"/>
</source>
<destination>
<database host="localhost" name="magento2" user="root" ssl_ca="/path/to/file" ssl_cert="/path/to/file" ssl_key="/path/to/file"/>
</destination>
使用配置和映射文件
Data Migration Tool使用 映射文件 来允许您在Magento1和Magento2数据库之间执行自定义数据库映射,包括:
-
更改表名
-
更改字段名称
-
忽略表或字段
-
将字段的传输数据调整为Magento2格式
受支持Magento版本的映射文件位于<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc
的子目录中
要使用映射文件,请执行以下操作:
-
将它们从
<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/<migration edition>/<ce or version>/
复制到<your Magento 2 install dir>/app/code/Vendor/Migration/etc/<migration edition>/<ce or version>/
并删除.dist
扩展。 -
更新
config.xml
的<options>
节点中新复制文件的路径。 更新的路径应为以下路径之一:- 绝对文件路径,如
/var/www/html/app/code/Vendor/Migration/etc/opensource-to-opensource/1.9.4.1/map.xml
- magento/data-migration-tool模块相对文件路径:
etc/opensource-to-opensource/1.9.4.1/map.xml
- 根目录相对文件路径Magento:
app/code/Vendor/Migration/etc/opensource-to-opensource/1.9.4.1/map.xml
- 绝对文件路径,如
<Magento 2 dir>/vendor/magento/data-migration-tool/etc
和<Magento 2 dir>/vendor/magento/data-migration-tool/etc/<ce version>
目录包含以下配置文件:
即使您大部分时间都在使用map.xml.dist
文件,下表仍讨论了每个映射和其他文件。
class-map.xml.dist
config.xml.dist
customer-attr-document-groups.xml.dist
customer-attr-map.xml.dist
deltalog.xml.dist
eav-attribute-groups.xml.dist
eav-document-groups.xml.dist
log-document-groups.xml.dist
map-eav.xml.dist
map-log.xml.dist
map-sales.xml.dist
map.xml.dist
settings.xml.dist
core_config_data
表所需的规则。customer-attribute-groups.xml.dist
customer-document-groups.xml.dist
map-customer.xml.dist
order-grids-document-groups.xml.dist
map-document-groups.xml.dist
map-stores.xml.dist
map-tier-price.xml.dist
visual_merchandiser_map.xml.dist
visual_merchandiser_attribute_groups.xml.dist
visual_merchandiser_document_groups.xml.dist
有关详细信息,请参阅Data Migration Tool 技术规范。