测试Magento 2数据迁移工具

3,784次阅读
没有评论

共计 2866 个字符,预计需要花费 8 分钟才能阅读完成。

测试Magento 2数据迁移工具

你应该知道了,Magento2采用了全新的结构和数据库设计。为了给升级过程营造一个愉快的氛围,Magento官方发布了一个数据转移工具帮助开发者从Magento 1迁移到Magento 2。官方资源:

数据库迁移工具依据XML文件规定的规则将数据从M1转换到M2。说清楚点,这个工具只会转移数据。主题和你自定义过的商铺设置并不会自动迁移到Magento2。将工具安装到一个空Magento 2网站。这不是一个插件,而是一个需要结合Magento 2框架才能工作的Shell APP。位置在:

vendor/magento/data-migration-tool/bin/migrate

编辑下面文件夹中XML文件完成安装

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

在受支持的Magento环境中,仅需在config.xml中配置好源(M1)和目标(M2)即可:

[php]
<source>
<database host="localhost" name="magento1_db" user="root"/>
</source>
<destination>
<database host="localhost" name="magento2_db" user="root"/>
</destination>
[/php]

config.xml 是最只要的配置文件,定义了连接到其他XML文件的路径,定义了那些步骤需要执行。

map.xml 保留全局定义,那些表格、行列的取舍都在里面有说明。其他XML都是分步定义的文件。迁移分成三步走:设置,数据,Delta,他们及其子步骤可以在config.xml中看到:

[php]

cd vendor/magento/data-migration-tool/bin/
php migrate –help

Usage:
migrate <mode> –config=path/to/config.xml [options]
migrate –help

Possible modes:
settings Migrate system configuration
data Main migration of data
delta Migrate the data is added into Magento after the main migration

Available options:
–reset Reset the current position of migration to start from the beginning
–config <value> Path to main configuration file, i.e.: etc/m1_version/config.xml
–verbose <level> Verbosity levels: DEBUG, INFO, ERROR
–help Help information

[/php]

迁移设置

首先,转移设置、网站、商铺到M2,大部分数据都和Magento网店相关,这部分需要先行转移。

转移数据

数据转移就是迁移分类、产品、客户、订单、评分…..等等所有M2中有的东西。当然,转移时最好关闭Logs,Quots功能。

转移增量数据

最有趣的部分来了。成功转移数据之后,你只需将M1的访问设置连接到新的M2数据即可,会自动从上次停止的地方重新开始。这个步骤不会改变分类、产品数据,只会涉及一些用户,订单等类似于用户相关的数据。数据转移时,一套m2_*数据表会在你的M1数据库中创建,用以追踪迁移过程。这个过程确保迁移到M2的过程顺畅简短,让你尽快把M2网店运行起来。

转移媒体文件

转移媒体文件很简单,只需把M1中的文件拷贝、粘贴到M2对应位置就可以了。

自定义设置转移过程

当然你的网站肯定是有自己设置的,不会和Magento默认网站一样,所以开发者总是需要对这个工具做一些自己的设置。这个转移工具本身是很灵活的,基本都可以通过xml文件进行定义,用php类文件进行筛选,不得不说,magento团队干的漂亮。假设你在M1中有自定义变量 sales_flat_order.custom_column,我们运行转移工具就是得到错误: [ERROR]: Source fields not mapped. Document: sales_flat_order. Fields: custom_column 。怎么办呢?在map.xml 文件中添加如下代码

[php]
<source>
<field_rules>
<ignore>
<field>sales_flat_order.custom_column</field>
</ignore>
..
[/php]

唯一的问题是,也许不止一个设置与Magento xml默认配置不一样,这个时候,你要确保所有不一样的都被屏蔽掉,不被执行。 以将值转移到重命名后的custom_column,并同时修改值为例:

[php]
<source>
<field_rules>
..
<transform>
<field>sales_flat_order.custom_column</field>
<handler class="\Migration\Handler\AddPrefix">
<param name="prefix" value="inchoo_"/>
</handler>
</transform>
<move>
<field>sales_flat_order.custom_column</field>
<to>sales_order.new_custom_column</to>
</move>
..
[/php]

从例子可以看出,你可以使用Handler类,或者你甚至可以自定义一个让你的转移工作飞起来。如果这个路径图不能满足你,你可以自己创建自定义步骤。 Each step is composed out of Integrity, Data and Volume classes. Integrity is triggered before migration to check if everything is ok with mapping, Data transfers data, Volume checks if everything is ok after migration. Delta class can be added to support delta migrations.

推测

这个工具确实在M1迁移到M2的过程中起了很大的作用。开发者可以自定义配置,能够为转移工作节省大量时间。由于是数据库到数据库转移,速度相当快。写此文的时候,还只能支持1.9.1版本,但是我用在1.9.2.0版本上也没有遇到错误。 M2发布的时候,其他版本的M1应该也能得到支持。所以简短的说整个转移过程就是:先安装一个空的M2,再将M1的数据转移到M2网站中。你需要检查和开发你在M2中所有需要用到的参数、表,一旦完成这个过程,你的M2网站也就可以发布了!

正文完
 0
评论(没有评论)

空瓶子部落

文章搜索
推荐阅读
一个老车工总结的27条经验,对SQE有用

一个老车工总结的27条经验,对SQE有用

三分车工七分刀具,想干好车床首先要保证“武器”要趁手,再就是多干多练,外圆、内孔、长度、锥度、螺纹的结合练习,...
史上最全面注塑缺陷大汇总(最新版详解)

史上最全面注塑缺陷大汇总(最新版详解)

  以上就是本篇全部内容了,希望对在看的你有所帮助。
O型圈密封知识大全(下)

O型圈密封知识大全(下)

(四)配合沟槽与密封圈尺寸参数 密封用沟槽尺寸及压缩量 (五)O 型圈的使用安装与泄漏 5.1 O 型圈的使用...
如何开一家生意红火的汽车修理厂,行业人员一定用得上

如何开一家生意红火的汽车修理厂,行业人员一定用得上

开汽车修理厂需要准备什么?   1、有关系。有关系就有客源,有市场,有了市场才能吸引客户投资; 2、如果第一条...
这个轻量免费的项目,看剧忒爽

这个轻量免费的项目,看剧忒爽

想必大家肯定有这样的烦恼,现在想轻松看个电影、追个剧,真是太难了~~打开各种视频平台,不是要付费充会员,就是得...
最新文章
群晖 Let’s Encrypt 泛域名证书自动更新

群晖 Let’s Encrypt 泛域名证书自动更新

目前acme协议版本更新,开始支持泛域名(wildcard),也就是说,可以申请一个类似*.domain.co...
可以卸载TV Box 了,这款支持「绅士模式」的影视神器你值得拥有

可以卸载TV Box 了,这款支持「绅士模式」的影视神器你值得拥有

还在为找优秀片源难、广告多、平台会员太贵而烦恼?今天给大家挖到一款真正的影视宝藏工具——小猫影视! 作为开源免...
【收藏】一次性解决TV点播/直播自由

【收藏】一次性解决TV点播/直播自由

很多时候,资源就在面前,但是我们视而不见,因为长久的安逸,已经让人失去动手的兴趣。但是每次我需要挨个切换APP...
OpenWrt 存储空间扩容的两种方案

OpenWrt 存储空间扩容的两种方案

说明:当我们通过群晖 VMM 虚拟机安装 Open­Wrt 时,默认会分配一个 10GB 的存储空间,而实际情...
OpenWrt修改IP地址两种方法(直接命令修改跟后台修改)

OpenWrt修改IP地址两种方法(直接命令修改跟后台修改)

OpenWrt是什么?OpenWrt一般常见于无线路由器(软路由)第三方固件,它是一个高效、可靠、功能多的路由...
热门文章
提高过程能力指数(CP/CPK)的途径

提高过程能力指数(CP/CPK)的途径

编者按:过程能力指数(CP/CPK)想必各位质量人都耳熟能详、运用自如,质量工程师之家前期也共享过数篇关于过程...
SPC控制图的八种模式分析

SPC控制图的八种模式分析

SPC控制图有八种模式,即八种判断异常的检验准则,每一种检验准则代表一种异常现象,应用SPC控制图进行过程评估...
测量高手放大招:圆跳动测量技巧总结

测量高手放大招:圆跳动测量技巧总结

01. 前言 在五金机加工厂实际的测量工作中,经常碰到要求测量两个要素的圆跳动问题, 利用不同的测量辅件及夹具...
过程能力分析(CP&cpk)

过程能力分析(CP&cpk)

引入过程能力分析的目的? 在我们现有的管理过程中,我们经常会遇到有些具体指标总是不尽人意,存在许多需要改进的地...
新能源汽车 “两会”精神宣贯会

新能源汽车 “两会”精神宣贯会

此次和大家分享新能源汽车相关政策: [embeddoc url=”https://www.ctro...
最新评论
多乐士 多乐士 通过摸索发现ssh拉取会报错,直接网页访问下载会报404错误,不知道原因;但是可以通过群晖CM注册表访问下载,其方法如下: Container Manager-注册表-设置-新增-注册表名称随便写,注册表URL填你的加速地址,勾选信任的SSL自我签署证书,登录信息不填-应用-使用你的地址,这是注册表会显示了,在搜索栏中输入映像名称,搜索结果在每一页的最后一个,你需要划到最后一个进行下载,实测可正常下载安装。 以上供网友参考。
多乐士 多乐士 还有一个比较简单的方法,只是需要一些外部工具。 1、讲损毁硬盘取出,装入外部移动硬盘 2、打开Diskgenius,定位到硬盘 3、格式化系统分区 4、重新插入硬盘 5、存储池->修复存储池即可
多乐士 多乐士 写的不错的文章
辞了老衲 辞了老衲 这个确实有帮助。
渋驀 渋驀 当然任何时候都可以用curl命令和crontab来实现动态更新DDNS的ip地址: 1、安装crontab之后为root用户创建文件/var/spool/cron/root 2、创建并配置ddnsupdate.sh,放到/usr/bin/文件下,文件内容(以he.net为例): Autodetect my IPv4/IPv6 address: IPV4:curl -4 "http://dyn.example.com:password@dyn.dns.he.net/nic/update?hostname=dyn.example.com" IPV6:curl -6 "http://dyn.example.com:password@dyn.dns.he.net/nic/update?hostname=dyn.example.com" 3、添加执行权限chomod +x /usr/bin/ddnsupdate.sh 4、编辑root用户的crontab:*/10 * * * * /usr/binddnsupdate.sh,每10分钟执行一次。好了,可以享受你的DDNS了
21410 21410 请问下载链接在那里?
madkylin madkylin 不错,不错,谢谢分享了,好东西啊 :lol:
feilung feilung 求方法
zengsuyi zengsuyi 应该挺不错的
zise zise 看看是怎么操作的。。 :oops: