【发布时间】:2012-02-02 01:05:16
【问题描述】:
我正在将 Magento 1.3 安装迁移到 Magento 1.5 版。由于 1.3 安装的复杂性,数据库正在通过导出/调整/导入过程进行迁移。不幸的是,在导入步骤中,客户、订单和产品的 ID 列与旧版本的 ID 不同,并且差异会导致重大更改(即,不能保证给定订单附加到同一客户)以前,订单不保证包含与以前相同的产品)。
我们如何调整我们的流程以使 ID 列保持不变,或者使新状态在内部保持一致? - 即数据库中的事物可能具有与以前不同的 ID,但给定的订单包含它之前所做的所有相同产品并附加到同一客户。
我的第一个冲动是尝试将自定义属性添加到有问题的行并使其与 ID 匹配,然后在迁移后数据库上运行查询以将 ID 恢复为原始值,但 Magento 的 EAV 数据模型可以做到这一点复杂,而且我不确定这是否会通过将 ID 乱序来破坏添加未来产品、订单等的能力。这个计划可行吗?
【问题讨论】:
-
我们开发了一些用于导入客户和订单数据的自定义 SQL 脚本,并且我们完全按照以前的方式转储了 ID。然后,我们将任何 id 更新为不同的新 EAV 值。这是一个非常复杂的过程。我们还使用 Rapid Flow 来简化分配工作。
-
您能否对此进行扩展,也许可以将其作为这个问题的答案?我很想看看你遇到了什么样的 SQL 挑战,或者想知道你是如何使用 uRapidFlow 模块完成任务的。
-
我需要一个小时来解释我们从导入工具中获得的所有好处。它还帮助我们重新运行导入,并将数据更新为最新信息,而不会填充新数据,因为我们至少运行了 4 次导入,以反映仍在运行的旧站点的最新数据,在我们进行数据导入测试时。如果系统中不存在它们,它会整理出所有 EAV 文件,并动态创建新属性。作为一个 MySQL dba 类型的人,我不准备对 SQL 语句做同样的事情。
-
我使用一些 SQL 脚本的唯一原因是导入 150,000 个客户需要很长时间。通过 SQL 导入是一件相当容易的事情,因为我们不想带来任何订单。