2011-08-19 96 views
2

前段时间我把Magento商店1.4.2.0升级到1.5.1.0版本,升级过程没问题。虽然我有一些错误/错误,并且想将Magento升级到1.6.0.0,因为它现在是一个稳定版本。为什么将Magento 1.5.1.0升级到1.6.0.0失败?

我下载了magento 1.6,并使用旧的数据库进行了安装过程。在我输入数据库访问数据的屏幕后,我收到了一份Magento报告。它说:

“错误文件: ” /home/italo/www/mage_powershop/app/code/core/Mage/Customer/sql/customer_setup/mysql4-upgrade-1.5.9.9-1.6.0.0 .PHP “ - SQLSTATE [23000]:完整性约束违规:1062重复 进入 '0' 键 'son_id'”

我试着也是一个新的数据库安装的Magento 1.6.0.0,然后从进口数据旧的数据库,但我得到了同样的问题。 (其实,几乎相同,因为关键不是'son_id',但它总是会改变......)在新数据库中的安装运行良好。我试图使用Magento修复数据库工具,但它返回了一个错误。

有人可以帮我解决这个问题吗?

回答

3

我得到了这个工作!

我只是禁用了外键和独特的检查。

<initStatements>SET NAMES utf8</initStatements> 

到:在/app/etc/config.xml文件从我改变了initStatements节点

<initStatements>SET NAMES utf8; SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0;</initStatements> 
0

问题出在您存储在表格中的数据中。 在Magento表中没有名称为“son_id”的索引。也许任何自定义模块添加一些字段到Magento核心表并添加新的索引。在这种情况下,您不能自动升级。

查找名为“son_id”的索引表并查看该字段中的数据。也许你可以修改这些数据到独特的值来升级...

+0

谢谢回答。我会试试看。 –

+0

试过了,我没有找到它。我尝试搜索'son_id',也搜索了其他我之前获得的密钥,但是他们中没有一个在那里。 (有人在Magento论坛上发布了这个消息:http://www.magentocommerce.com/boards/viewthread/242890/) –

+0

我刚刚找到了son_id,我的不好!虽然我已经有这个工作。无论如何,非常感谢您的回答。 =) –