【问题标题】:Magento database upgrade 1.4.2 to 1.9 verificationMagento数据库升级1.4.2到1.9验证
【发布时间】:2016-01-14 09:54:16
【问题描述】:

我刚刚尝试将 Magento 从 1.4.2 升级到 1.9。我按照文档做了所有的准备工作。当谈到将现有数据库的副本连接到新的 1.9 文件然后访问基本 url 以便 Magento 可以升级数据库时,加载大约需要 5-10 秒,然后正常显示站点。所以我的问题是,我应该看到一个屏幕告诉我数据库正在升级吗?

根据文档,该过程可能需要几个小时,而显然不需要。这家商店只有 1200 份订单和 1100 种产品,如果这个过程那么快。如何验证数据库是否已升级?

【问题讨论】:

  • " 过程 could 需要几个小时 " could 是关键字,另一种说法是 " 过程 MIGHT 需要几个小时” 可能需要几个小时,也可能需要 5 秒。
  • 确实 Magento 只是在阻止它自己。不是真的嘲笑你,但在 Magento 眼中,一个 1200 个订单和 1100 个产品的网上商店真的很小。 s 所以说得通。
  • 您知道 Magento 数据库升级是否成功的唯一方法是,当您运行新版本几天而不抛出堆栈跟踪,抱怨外键问题、缺少表、列不匹配或其他 SQL 错误。尽管core_resource 的记录更新了 10000 条产品记录,1.4.2 到 1.5.1.0 很长,1.5.1.0 到 1.6.2.0 更长,1.6.2.0 到 1.9.2.2,嗯,它发生得太快了,我以为灾难来了,这是它第一次在前三次尝试中没有失败。

标签: php mysql magento upgrade


【解决方案1】:

Magento 上的更新过程对用户来说确实是透明的,目标实际上是能够在客户/访客甚至没有注意到这一点的情况下启动新功能或升级模块。

您实际上可以查看数据库是否是最新的是在文件夹中找到 app/code/core/Mage/*/*/sql/ 文件升级到最高版本。

那里的文件示例:

  • upgrade-1.6.0.5-1.6.0.6.php => 最高版本 = 破折号后文件的最后一部分 => 1.6.0.6
  • install-16.0.0.php =>破折号后的最高版本,再次 => 16.0.0

获得最高版本后,打开数据库的 core_resource 表,查看同一模块的版本是否等于您在文件名中找到的最高版本。

现实生活中的例子:

app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.18-1.6.0.0.19.php 是我确定为模块目录最高版本的文件。

然后我的数据库应该支持 catalog_setup => 1.6.0.0.19

确实如此:

select * from core_resource where code like 'catalog_setup' 
#catalog_setup is actually the name of the folder under the folder sql... well not really if you want to know more about magento it really is a XML node name, but as a standard it should be the same as the folder name

code            | version       | data_version
catalog_setup   | 1.6.0.0.19    | 1.6.0.0.19

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多