mysql> select * from core_resource;
+-------------------------+------------+--------------+
| code | version | data_version |
+-------------------------+------------+--------------+
| adminnotification_setup | 1.0.0 | 1.0.0 |
我从未发现这两列之间的值存在差异,我不确定data_version的确切含义。
这是有用的吗?我可以从中受益吗?
答案 0 :(得分: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;
}