2011-08-19 97 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,我的不好!雖然我已經有這個工作。無論如何,非常感謝您的回答。 =) –