Magento客户/订单转移

时间:2011-09-12 15:14:28

标签: magento

你们中的大多数人很可能已经习惯在不同的平台上工作(开发 - 分期 - 制作)。在我工作的公司中,他们也有这些不同的平台,部署了Magento企业版(v1.9.0.0)实例。

大约2个月前,我们的团队采用了生产版本的数据库备份来开始工作(相当大的开发项目有关内容(产品图片,描述......)和自动产品加载。

目前,所有修改都已部署在登台平台上,其中包含最近两个月前下订单的订单信息。

在购买(编码错误且充满错误)扩展程序以导出和导入订单(包括订单信息,报价,运输信息和客户信息)后,这些订单无法正常工作我决定只复制以下所有表格生产现场:

  • 所有以customer _
  • 开头的表格
  • 所有以s _
  • 开头的表格
  • 以sales _
  • 开头的所有表格

我在我的开发平台上导入它们(只是为了试一试,它可以工作!:O 所有订单,运输,信用备忘录和客户信息都得到维护,并且似乎完全正常并且正确无误。

以下是实际问题: 通过这样做,将来是否有可能与订单/客户相关的事情发生冲突?据我所知,订单只与客户和客户地址有关系而不是实际产品(至少我认为它们是由SKU链接而不是产品entity_id与magento中的大多数东西相关联)

事实证明,如果从magento实例中删除所有产品,所有订单和客户信息都会得到维护并完全正常工作。

修改 这实际上有效;)

3 个答案:

答案 0 :(得分:2)

这可能有点晚了但是我最近已经多次遇到过这种情况,这是一个很好的问题,重要的是要注意它以避免将来客户/销售关系出现问题。

在撰写本文时,最新的Magento版本是1.7.0.2,是的,可能会与生产和开发网站合作,因此在开发过程中转移新的销售和客户是重要的一步如果一个人对数据库的经验很少,就不应该要求扩展,所以在这里:

  • customer _ sales _ 表的转移正确且安全地传输所有数据是正确的。
  • 此后,必须只为每个行更新 eav_entity_store 表的 increment_last_id 列。

执行上述最后一步可以避免新订单,发票,货运或信用证忽略新ID,​​并确保新订单从转移订单中止的位置开始。

这可能有点令人困惑,但这是一个非常简单的步骤。这个Article更详细地解释了它。

答案 1 :(得分:1)

你正在接近这个错误的方式。如果您有EE,那么它会捆绑内容登台程序,您应该使用它来更改内容。

是的,它肯定会导致问题,因为所有与其他订单相关的内容(例如已发送的发票)的关系,所有对象属性可能只会获得新的entity_id,这最终会在某个地方的路上乱七八糟。

如果您将属性集和属性添加到大型安装中,则始终建议将这些属性集和属性添加到扩展安装例程中,以便您可以移动代码库,并且所有更改都会自动填充到您将来可能连接的任何数据库中。

答案 2 :(得分:1)

有这个脚本:

https://github.com/iateadonut/magento_copy_customer

它通过单​​一命令抓住客户及其所有订单:

$ MG-> copy_customer(1234);

如果1234是customer_entity.entity_id - 您可以查看源代码,了解如何查询表限制以确保抓取所有行。