Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento升级到v1.7失败,数据库错误_Magento_Magento 1.7_Magento 1.4 - Fatal编程技术网

Magento升级到v1.7失败,数据库错误

Magento升级到v1.7失败,数据库错误,magento,magento-1.7,magento-1.4,Magento,Magento 1.7,Magento 1.4,我正在尝试将客户端Magento升级到v1.7(从v1.4)。一路上我遇到了一些小麻烦,但没有什么太悲惨的事。。。。直到现在 我的升级路线是复制现有的v1.4数据库并安装新版本的1.7。然后运行标准升级脚本,数据库应该升级到v1.7(当然,除了升级后需要重新安装的任何已安装扩展)。这是一条我以前使用过的路线,看起来比通过magento connect升级要可靠得多 然而,我遇到了困难。我收到以下错误报告: a:5:{i:0;s:464:"Error in file: "/route/to/mag

我正在尝试将客户端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中没有条目,即使这没有破坏引用完整性,我还是在绝望中删除了它,但没有成功

我还检查了其他直接相关表中的记录,仍然找不到错误的原因


有什么想法吗?

从1.4更新到1.7时,我必须清空两个表才能成功。在那之前,我犯了各种奇怪的错误。 我清空的表(未删除,仅清空)是:
报告比较的产品索引
报告查看的产品索引
如果这对你的情况也有帮助,试试看


哦,我忘了,以防你想知道。这些表格用于比较和查看产品的非必要统计数据。如果您依赖于过去的准确存储统计数据,那么您可能需要深入研究这个问题。

您能否验证您在core\u store中有一个存储id为0的管理员存储?我遇到了类似的问题,主键ID发生了变化,在升级脚本中做出了一些假设。

试试看

SET FOREIGN_KEY_CHECKS=0;
UPDATE `core_store` SET store_id = 0 WHERE code='admin';
UPDATE `core_store_group` SET group_id = 0 WHERE name='Default';
UPDATE `core_website` SET website_id = 0 WHERE code='admin';
UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN';
SET FOREIGN_KEY_CHECKS=1;

您能否验证您在core_store中有一个具有store_id 0的管理存储?我也遇到过类似的问题,主键ID发生了变化,升级脚本中做出了一些假设。我确实遇到过——这是我第一次遇到这些问题时删除的存储条目。谢天谢地,这是一次试运行,所以它足够简单,可以恢复OK,恢复core_store中的Admin store条目-但是这次我为它提供了website_id和group_id的值,它们在相应的表中有相关记录(之前都是0)和viola!!如果你想把你的回答作为一个答案,我会把它标记为接受-非常感谢!我只是这么做了:)很高兴你修复了它。对于集合存储\u id 0,请查看我下面的评论