深入研究 Magento 2 的整站迁移

在本系列的上一篇文章中,我概述了Magento迁移过程,并讨论了在计划迁移时要考虑的一些利弊。 在本文中,我们将对实际迁移过程的技术细节进行更深入的研究。

升级迁移工具

由于我们已经按照上一篇文章中的说明安装了Magento迁移工具,下一步是正确配置它以成功进行迁移。 在继续配置迁移工具之前,您需要检查迁移工具版本是否与Magento安装版本匹配,如果不匹配,则需要更新迁移工具版本。

如果要迁移到Magento 2.0.0版,则需要具有迁移工具2.0.0版,同样,如果您具有Magento 2.0.2版,则需要迁移工具2.0.2版。 如果版本不匹配,则迁移将不会成功,因为不同的Magento版本可能具有不同的数据库结构,并且需要不同的映射机制。

要检查新的Magento安装的版本,请使用以下命令:

php /bin/magento --version

现在检查Magento迁移工具的版本。 为此,请转到您的迁移工具目录,然后打开composer.json文件。 该文件的位置如下所示:

Magento root directory/vendor/magento/data-migration-tool/composer.json

在此文件中,找到version的值,这就是您的迁移工具版本。 如果Magento的版本与迁移工具匹配,那么您都可以继续进行下一步。 但是,如果没有,则需要更改迁移工具的版本以匹配Magento的版本。

在继续进行版本升级之前,请备份data-migration-tool目录,因为升级过程将修改此文件夹的内容,如果出现问题,如果您不这样做,则可能无法找回原始文件夹。没有备份。 备份完成后,只需转到服务器中的Magento根目录,然后输入以下命令:

composer require magento/data-migration-tool:2.0.2

命令中的最后一件事是您的Magento版本。 在这种情况下,它是2.0.0。 如果您的不同,请相应地进行更改。

现在,我们已经确保了具有匹配版本的Magento和迁移工具,是时候正确配置迁移工具了。

配置迁移

要配置Magento迁移,您需要创建/更新配置文件和映射文件。 您可以在以下文件夹位置找到这些文件:

Magento2 root directory/vendor/magento/data-migration-tool/etc/ce-to-ce

在本文中,我演示了从社区版本到社区版本的迁移,因此上述路径中的最后一个文件夹是ce-to-ce,但是如果要处理企业版,它将是ee而不是ce。

在启动任何迁移之前,必须创建配置正确的config.xml文件。 要创建config.xml文件,请登录您的Magento服务器,然后移至以下目录:

/vendor/magento/data-migration-tool/etc//ce

使用此命令创建配置文件:

cp config.xml.dist config.xml

现在,一旦创建,就可以在任何文本编辑器中将其打开,并放入以下示例代码:


    


    


    magento1
    Look at Magento 1 root directory/app/etc/local.xml

在此,源数据库和目标数据库的hostnameuser字段都是必填字段。 另外, crypt_key字段是必填字段。 其余字段(如数据库密码source_prefix)是可选的。

crypt_key字段应具有与在以下目录中的local.xml文件的密钥标记中可以找到的密钥相同的密钥:

/app/etc/local.xml

现在我们已经创建了config.xml文件,下一步是更新映射文件。 迁移工具使用映射文件执行从Magento 1到Magento 2的数据库映射。映射文件包含有关更改数据库的表名和字段名的信息,可以忽略的表名和字段以及其他类似信息。 您可以在以下目录中找到映射文件:

/vendor/magento/data-migration-tool/etc

浏览这些文件,如果需要更新其中任何一个,请复制需要编辑的文件,然后从名称中删除.dist。 例如,如果您使用的是map.xml.dist文件,请将该文件的副本命名为map.xml。 完成对它们的编辑后,需要在可选节点中使用新文件名更新config.xml文件。 如果添加了map.xml文件,则先前创建的config.xml文件的代码将如下所示:


    


    


    magento1
    Look at Magento 1 root directory/app/etc/local.xml
    etc/ce-to-ce/1.9.1.0/map.xml.dist

迁移设置,数据和增量

现在,我们已经完成了所有迁移计划,安装,配置等工作,现在让我们开始迁移过程。 为此,您需要运行迁移工具。 要运行迁移工具,请以具有写权限的用户身份输入您的Magento服务器。 要从任何目录运行Magento命令,请将Magento根目录/ bin添加到系统路径,或者您可以通过以下方式运行命令:

cd /bin

使用以下命令开始迁移:

bin/magento migrate:{}

在这里,模式可以是设置,数据或增量,并且config.xml文件的路径将是绝对路径。

您需要按以下顺序执行迁移:

  1. 迁移设定
  2. 迁移资料
  3. 迁移增量(更改)

迁移设置将迁移与商店,网站等相关的付款,税收和运输设置。要运行设置迁移,请运行以下命令:

bin/magento migrate:settings{}

这可能不会迁移所有数据。 您需要使用管理面板登录,以手动检查是否正确传输了所有内容。 如果有任何问题,您可以重新执行此语句,但是这一次,请使用reset参数从头开始迁移。 该命令将如下所示:

bin/magento migrate:settings [-r|--reset] {}

设置完成后,接下来开始迁移数据。 该过程与以前相同,只是更改了一个参数。 要执行的命令如下所示:

bin/magento migrate:data {}

运行数据迁移时,迁移工具会检查旧的和较新的Magento版本的数据库表和字段是否一致。 如果不一致,它将尝试从映射文件中查找信息。

如果在该处找不到它,则会抛出一个错误,提示您麻烦的表名和字段名。 当您使用其表结构与Magento 2数据库结构不兼容的Magento扩展时,通常会出现此问题。 在这种情况下,您既可以安装扩展版的Magento 2版本,也可以通过在map.xml文件中添加标记来忽略这些文件。

解决问题后,可以重新运行migration data命令。 这里要记住的一件事是,迁移工具会在迁移时跟踪进度,一旦您重新运行它,它就会从之前的位置恢复。 要强制从头开始,可以使用如下所示的reset命令:

bin/magento migrate:data [-r|--reset] {}

下一步是迁移更改(增量)。

如本系列的上一篇文章所述,在开始迁移过程之前,您应该停止Magento 1 cron作业以及Magento 1管理面板中除必要的订单管理问题以外的所有活动,并且不要恢复活动,直到时间迁移过程完成。

尽管在开始迁移过程之前,您将在Magento 1管理控制台中停止大多数活动,但仍会遇到一些订单处理问题。 同样,在此期间可能会发生新的用户评论或客户资料的更改。 现在,您需要使用增量更新来迁移数据。

要迁移增量更新,请运行以下命令:

bin/magento migrate:delta [-r|--reset] {}

在此有必要记住,除非使用CTRL + C命令中止增量迁移,否则它会连续运行。 这里要注意的另一件事是,该工具仅迁移Magento自己的模块生成的数据。 如果第三方扩展同时生成/更新某些数据,则不会迁移这些数据。 如果您也希望迁移数据,则需要更新Magento 2配置文件。 这就需要对数据迁移工具的内部规范有一些高级的了解,这超出了本文的范围。

手动迁移数据

再次参考本系列的第一篇文章 ,尽管迁移工具将完成大部分繁重的迁移过程,但是您需要手动转移三种类型的文件:

  1. 媒体文件
  2. 店面设计
  3. ACL(访问控制列表)

要传输媒体文件,请首先转到您的Magento 1管理面板。 转到系统>配置>高级>系统。

在“ 媒体存储配置”选项卡下,从列表中选择媒体数据库 ,然后单击“ 同步”

深入研究 Magento 2 的整站迁移_第1张图片

现在转到Magento 2管理面板, 商店>配置>高级>系统

“介质的存储配置”下 ,选择介质数据库 ,然后单击“ 同步”

这将处理存储在Magento数据库中的媒体文件。 现在,要传输其他媒体文件,请从Magento 1根目录复制整个媒体文件夹,然后将其粘贴并合并到Magento 2的此位置:

Magento 2 root directory/pub/media

这里要注意的一件事很重要,就是在复制时,您不应替换.htaccess文件。 最好在媒体传输之前备份.htaccess文件的副本,以免意外替换该文件。

要传输商店的主题文件,您需要将.phtml,js,css和xml文件传输到Magento 2中的适当位置。文件夹结构与Magento 1不同。Magento开发文档中的这篇文章将给出您可以轻松了解Magento 2的新主题文件夹结构。

除了手动传输主题文件之外,您还需要手动重新创建网站上使用的REST和SOAP Web服务的凭据,还需要重新创建管理用户并设置其访问权限。

迁移后步骤

既然您已经完成了迁移所需的所有步骤,那么拥有完整功能的Magento 2网站的最后几件事是要做的。

  • 您需要将Magento 1置于维护模式,然后启动Magento 2 cron作业。
  • 刷新Magento 2缓存,然后重新索引所有索引。
  • 将DNS更改为指向Magento 2,以将流量转移到新站点。

到目前为止,如果您做到了,那就恭喜! 您的所有新Magento 2商店已准备就绪。 您花时间和精力将网站转移到较新的Magento版本确实值得。 Magento的这一新版本提供了增强的性能和可伸缩性,可提高转换率的新功能以及业务敏捷性和生产率的提高。 您的网站已准备好使用这些增强功能进入新的水平。

翻译自: https://code.tutsplus.com/articles/migration-to-magento-2-migrating-the-site--cms-25988

你可能感兴趣的:(深入研究 Magento 2 的整站迁移)