3

我最近将我的 Magento 商店从 1.4.2 升级到了 1.7。

由于在线商店仍在运行,因此我在本地计算机上进行了此升级。结果,当我将本地数据库升级到 1.7 时,我有客户在在线数据库上下订单。

现在我需要合并来自两个数据库的订单,这样我就不会在后台丢失任何订单。

我研究了一些扩展,但它们都是付费的。

我怎样才能实现这一点而不必为我只会使用一次的扩展付费?

4

1 回答 1

0

我认为这可以用 sql 来实现。

订单数据可以在前缀为“sales_flat”的表中找到。您需要的是将旧数据库中的订单合并到新数据库中不存在的新数据库中。

问题可能是新数据库中的新订单可能与旧数据库中的订单具有相同的 ID。

我会说做类似的事情(作为草图):

-> 从 sales_flat_order 表中获取您想要的订单。您需要将他们的数据与其他 sales_flat 表中的数据连接起来,例如用于付款数据的 sales_flat_payment 和用于商品数据的 sales_flat_item。但这可以在稍后完成,因为如果没有以正确的顺序导入,它们可能会导致键约束错误。
-> 确定订单的有效 entity_ids 和 increment_ids,使它们不与新数据库中的订单重叠
-> 将订单导入新数据库(sql 导入)对 sales_flat_order 完成此操作后,您可以对另一个执行此操作sales_flat 表。

现在它们应该被导入。请注意,尽管存储在其他模块中的任何订单信息都不可用(例如 mage_report 模块存储一些统计信息),但我认为重要信息是通过这种方式合并的。

于 2012-12-03T12:35:57.687 回答