首先运行的是安装升级脚本还是数据升级脚本?


23

我要说一个模块升级到版本0.1.3。说我有这些文件:

data/mymodule_setup/data-upgrade-0.1.2-0.1.3.php
sql/mymodule_setup/upgrade-0.1.2-0.1.3.php

sql升级脚本会先运行吗?数据升级脚本要求将一列添加到其他脚本中,因此,如果不在该列中,它将失败。

Answers:


21

订单是

  1. 安装
  2. 安装升级脚本
  3. 数据脚本
  4. 数据升级脚本

可以在此处找到更多信息:http : //inchoo.net/magento/magento-install-install-upgrade-data-and-data-upgrade-scripts/

http://www.sitepoint.com/magento-install-upgrade-data-scripts-explained/

或感谢@RickBuczynski以下链接:http ://vinaikopp.com/2014/11/03/magento-setup-scripts/

另外:如果您有相互依赖的模块,则应该知道,一次安装/更新多个模块时,首先运行所有常规升级脚本,然后运行所有数据升级脚本。每个模块按照加载模块的顺序排列,即关于依赖关系。


我已经阅读了这两篇文章,但是其中没有关于执行顺序的任何信息。您的回答很合理,但是您能否以证据证明这是真实的订单?
2015年

2
我还要添加此URL供参考:vinaikopp.com/2014/11/03/magento-setup-scripts似乎是我读过的关于该主题的最好的深入信息。
里克·布钦斯基

@Vic请参阅Rick的链接。
JELLEJ

@RickBuczynski哇,很棒的文章!
JELLEJ

2
不,一切都很好。根据您在这方面的经验水平,这三种资源都是有用的。我将在其他时间得到我的观点:-p
Rick Buczynski

2

magento遵循此命令

  1. 安装
  2. 安装升级脚本
  3. 数据脚本
  4. 数据升级脚本

有趣的开始是

在第一个脚本中插入数据(创建网站)

然后在第二个脚本中读取该数据(类别查找网站)

  1. magento安装脚本在一个事务中运行
  2. magento升级脚本在其他事务中运行
  3. 默认的mysql事务隔离级别REPEATABLE READ

玩得开心

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.