1

我刚刚开始了一份新工作,我们安装了几个不同版本的磁电机!

现在,在我看来,我们需要首先将它们全部升级,然后将它们全部安装在一个磁电机安装并使用一个数据库中。

这样做的最佳方法(一般而言)是什么。是否有可能或者我最好的选择是在一次安装下再次创建站点并将产品导入其中。

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

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

我们正在谈论不少商店说大约 15 左右,不少产品大约我会说 4000 可能更多。

4

3 回答 3

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. 继续您的其他商店。

这是我(完全个人)对程序的看法。

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

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

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

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

祝你好运!:)

于 2012-11-26T21:49:27.867 回答
1

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

进一步的问题/调查领域:产品层次结构(类别和属性)有多大不同?每个站点的定价是相同的还是不同的?这些站点中的任何一个是否是多区域的?每个区域的定价是如何处理的?

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

于 2012-11-26T21:38:10.320 回答
0

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

在我看来,您为此编写的代码量几乎比重新开始要花费更长的时间。您基本上是在为 Magento 编写缺少的功能。如果这很容易,他们早就做到了。

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

于 2013-10-04T14:19:53.833 回答