我正在尝试将客户端 Magento 升级到 v1.7(从 v1.4)。一路上我遇到了一些小插曲,但没有什么太悲惨的……直到现在。
我的升级路线是复制现有的 v1.4 数据库并安装新版本的 1.7。然后运行标准升级脚本,数据库应该升级到 v1.7(当然除了升级后需要重新安装的任何已安装扩展)。这是我以前使用过的一条路线,似乎比通过 magento connect 升级更可靠。
然而,我碰上了一面砖墙。我收到以下错误报告:
a:5:{i:0;s:464:"Error in file: "/route/to/magento/install/app/code/core/Mage/Cms/data/cms_setup/data-upgrade-1.6.0.0.0-1.6.0.0.1.php" - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`magento_1411_1702/cms_page_store`, CONSTRAINT `FK_CMS_PAGE_STORE_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `core_store` (`store_id`) ON DELETE CASCADE ON UPDATE CASCAD)";i:1;s:1095:"#0 /route/to/magento/install/app/code/core/Mage/Core/Model/Resource/Setup.php(645): Mage::exception('Mage_Core', 'Error in file: ...')
现在这向我推断在 cms_page_store 中有一条记录,它的 store_id 在相关表中找不到(在这种情况下,唯一相关表是 core_store)。不是这种情况。core_store 中有一条记录,cms_page_store 中没有条目,即使这没有破坏参照完整性,我还是绝望地删除了它,但没有成功。
我还检查了其他直接相关表中的记录,但仍然找不到错误原因。
有任何想法吗?