2012-01-16 64 views
0

我有几个更新。SQL更新在哪里运行?

我的模块版本是0.3.0。

SQL更新:

  • mysql4-upgrade-0.1.0-0.2.0.php
  • mysql4-upgrade-0.2.0-0.3.0.php

第一个更新的作品完美。 第二个不起作用。 Magento不包括它。

那么SQL更新逻辑存储在哪里?我想以某种方式调试它。

+2

您是否更新过config.xml文件中的模块版本? – 2012-01-16 16:30:24

+4

调试技巧在这里:http://stackoverflow.com/a/4766837/4668 – 2012-01-17 03:46:25

+0

@WebFlakeStudio - 是的,当然。 – Anthony 2012-01-17 10:31:38

回答

3

看一看

  1. Mage_Core_Model_Resource_Setup ::的ApplyUpdates()和
  2. Mage_Core_Model_Resource_Setup :: applyDataUpdates()。

这可能足以让你开始。告诉我你是否需要更多建议。

0

你可以看看Mage_Core_Model_Resource_Setup::applyAllUpdates()Mage_Core_Model_Resource_Setup::applyAllDataUpdates()方法。

+2

你刚刚写了两次相同的方法... – balexandre 2012-01-16 16:36:26

2

您感兴趣的表格是core_resource。如果您需要重新运行迁移,则可以编辑记录的versiondata_version列,更改Magento认为已安装的架构的版本,然后刷新浏览器。