magento资源中版本和data_version有什么区别?

时间:2012-06-20 15:31:35

标签: php magento

mysql> select * from core_resource;
+-------------------------+------------+--------------+
| code                    | version    | data_version |
+-------------------------+------------+--------------+
| adminnotification_setup | 1.0.0      | 1.0.0        |

我从未发现这两列之间的值存在差异,我不确定data_version的确切含义。

这是有用的吗?我可以从中受益吗?

1 个答案:

答案 0 :(得分:4)

在CE1.4中出现了

data_version和相应的所谓“数据升级脚本”。

数据安装/升级脚本在形式和功能上与“常规”安装和升级脚本相同。它们只是在初始化期间执行,主要的环境差异是有一个商店对象和一个初始化的请求对象,尽管我无法想象在升级工作流程中适当使用后者。

来自Mage_Core_Model_App

public function run($params)
{
    //snip...
    if ($this->_cache->processRequest()) { //cache hook
        $this->getResponse()->sendResponse();
    } else {
        $this->_initModules(); //triggers "normal" install & upgrade workflow
        //snip...
        if ($this->_config->isLocalConfigLoaded()) {
            //snip...
            $this->_initCurrentStore($scopeCode, $scopeType);
            $this->_initRequest();
            Mage_Core_Model_Resource_Setup::applyAllDataUpdates(); //data upgrade scripts
        }

        $this->getFrontController()->dispatch();
    }
    return $this;
}