我有很多单独的magento安装我可以将它们合并在一起吗?

时间:2012-11-26 20:46:56

标签: magento

我刚刚开始了一项新工作,我们有几种不同版本的磁铁安装!

现在我觉得我们需要首先将它们全部升级,然后将它们全部放在一个磁盘安装下并使用一个数据库。

这样做的最佳方式(一般而言)是什么? 是否可能或者最好是在一次安装下再次制作网站并将产品导入其中。

一位开发人员谈到,在不同的安装下使用它们有助于提高性能。这是真的吗?

一旦我们将它们全部置于一个安装之下,诸如库存控制和订单之类的东西以及将产品放在多个站点上也应该非常简单 - 对吗?

我们正在谈论相当多的商店说约15年左右,我会说很多产品可能会更多。

3 个答案:

答案 0 :(得分:8)

我的第一个建议是考虑原因,为什么需要在一次安装下移动所有Magento实例。你的问题并不清楚原因。因此,最好的开发人员的建议是“它是否有效?然后不要触摸它”:)

如果没有具体原因,那么你最好保持原样。软件系统的所有重组过程(升级,基础设施配置,访问设置等)都很难,成本高,消耗时间,容易出错,从业务角度来看通常没有多大价值,而且有点无聊。这不是Magento特有的东西,它只是任何软件的一般特征。

另请注意,这是一个假日季节。因此,最好不要在1月中旬之前对电子商务商店做任何事情。

如果您看到重组Magento商店的价值,那么最好的方法就是逐步 - 逐步商店:

  1. 选择最复杂的商店。准备好进一步步骤所需的一切 - 即准备好工具,编写自动脚本,在一些测试服务器上完成复制过程。编写一组功能测试 用至少烟雾测试覆盖它。你必须重复一遍 这样的光检查多次确定,商店似乎是 工作。自动测试将节省大量时间。因此,所有这些准备工作都将减少您的停机时间。
  2. 关闭对商店的公共访问权。
  3. 您需要将商店升级到Magento版本。将其移至新的基础架构。
  4. 手动验证所有用户方案并使用自动测试。修复问题,如果有的话。
  5. 打开对商店的公共访问权限。监视日志,在服务器计算机上加载报告。修复问题,如果有的话。
  6. 选择下一家商店(我们称之为NextStore)。在沙盒服务器上制作副本。
  7. 在沙箱服务器上复制已经转换的商店(我们称之为ConvertedStore)。
  8. 从NextStore副本导出所有数据并将其导入ConvertedStore副本。您可以使用Magento Dataflow或Import / Export模块来执行此操作。并非所有数据都可以 使用这些模块导入/导出 - 只需编目,订单,客户。你会需要 如果需要,可以开发自定义脚本来导入/导出其他实体。
  9. 手动验证结果,并使用自动测试和手动验证结果。编写自动脚本,修复发现的问题。稍后您将在实际转换过程中需要这些脚本。
  10. 关闭NextStore。
  11. 通过使用已准备好的过程和脚本,将其移动到新的基础架构。您需要考虑是否在转换过程中关闭ConvertedStore。这取决于你的感觉,是否可以打开它。出于安全原因,最好将其关闭。
  12. 验证一切正常。监控日志,报告。
  13. 修复问题,如果有的话。
  14. 继续进行其他商店。
  15. 这是我(完全个人)对程序的看法。

      

    一位开发人员有一些关于他们的话题   不同的安装有助于提高性能。这是真的吗?

    是的,你的朋友是对的。将Magento(实际上,这个世界上的任何东西)分成更小的实例,使其处理起来更轻松。性能差异非常小(对于4000个产品的实例),但这是不可避免的。考虑一下,在组合实例后(假设有10个实例,每个有400个产品),您将处理10倍以上的客户,报告,产品,商店等数据。因此,任何搜索都必须经历十倍以上产品,以返回数据。当然,没关系,如果搜索需要0.00001秒,因为组合实例的0.0001也是可以的。但有些东西,如排序或匹配集,会非线性增长。但是,如前所述,对于4000种产品,你不会发现很大的差异。

      

    一旦我们将它们全部置于一个安装之类的东西,如库存控制和   订单以及将产品放在多个站点上也应该是   非常直白 - 对吗?

    你是对的 - 将商店组合在一起,处理订单,库存,客户将会更简单直接的过程。

    祝你好运! :)

答案 1 :(得分:1)

最重要的是要考虑通过将所有这些网站放在一个Magento“实例”上来解决的问题。对您的业务/团队更重要的是:让这些网站共享产品和库存,还是具有独立修改这些网站的灵活性?任何停机或对可用性的影响都可能影响所有站点。

其他问题/调查范围:    产品层次结构(类别和属性)有多大差异?    每个网站的定价是相同的还是不同的?    这些网站中的任何一个都是多区域的,每个地区的定价如何处理?

在一个Magento实例上运行多个站点当然是可能的,即使平台内存在一些粗糙的边缘。

答案 2 :(得分:0)

由于无法导出Magento中的所有实体,因此没有合并商店的功能。您必须编写自定义代码 - 它必须从旧存储中获取所有记录,在保留参照完整性的同时为其分配新ID。将它们插入新商店(这是“产品导入”所做的,但它们没有类别,订单,客户等。)

在我看来,你要编写的代码量需要的时间比刚开始的时间长得多。你基本上是在为Magento编写缺少的功能。如果它很容易就可以完成它。

然而,拆分两个商店非常容易,因为您不必担心在数据库中重新分配唯一标识符。