2012-07-29 124 views
6

嗨,當我更新我的Magento 1.6.2至1.7.0.2中的文件更新工作細... (我都在我的TESTSERVER trieing本)Magento的 - 從1.6.2升級到Magento的1.7.0.2

我試圖通過diff文件或magento連接更新時出現同樣的錯誤(更新mage_all_latest)

但是,當我第一次在網上商店登錄時,它試圖更新mysql表。

但是我得到錯誤後錯誤。

這裏的錯誤列表:

a:5:{i:0;s:237:"Error in file: "/var/www/vhosts/liefstoereigenwijs.nl/site1/app/code/core/Mage/SalesRule/sql/salesrule_setup/upgrade-1.6.0.2-1.6.0.3.php" - SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'salesrule_website' already exists";i:1;s:1122:" 
#0 /var/www/vhosts/liefstoereigenwijs.nl/site1/app/code/core/Mage/Core/Model/Resource/Setup.php(645): Mage::exception('Mage_Core', 'Error in file: ...') 

與同爲:

  • catalog_product_entity_group_price
  • salesrule_customer_group
  • report_viewed_product_aggregated_daily
  • report_viewed_product_aggregated_monthly
  • report_viewed_product_aggregated_jearly
  • oauth_consumer

爲了解決這個問題我刪除這些註冊表項。 (雖然這看起來不對)

但最後一個鍵我不能刪除。我得到#1217 - 無法刪除或更新父行,外鍵約束失敗

誰能告訴我什麼,我做錯了......

UPDATE 2012-08-01

我使用magento的reapir工具修復了數據庫。 之後,我通過將mage_all_latest更新爲1.7.0.2來更新magento。

所有工作正常,除了最後我得到: 「緩存和會話清理期間的異常」,但在安裝過程中沒有其他錯誤。

然後我回到管理員我得到一個白色的屏幕。 等了一會兒,我清除了var/cache和apc。

現在,我得到這個消息:

a:5:{i:0;s:255:"Error in file: "/var/www/vhosts/liefstoereigenwijs.nl/site1/app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.9-1.6.0.0.10.php" - SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'catalog_product_entity_group_price' already exists";i:1;s:1132:" 
#0 /var/www/vhosts/liefstoereigenwijs.nl/site1/app/code/core/Mage/Core/Model/Resource/Setup.php(645): Mage::exception('Mage_Core', 'Error in file: ...') 
#1 /var/www/vhosts/liefstoereigenwijs.nl/site1/app/code/core/Mage/Core/Model/Resource/Setup.php(437): Mage_Core_Model_Resource_Setup->_modifyResourceDb('upgrade', '1.6.0.0.8', '1.6.0.0.14') 
#2 /var/www/vhosts/liefstoereigenwijs.nl/site1/app/code/core/Mage/Core/Model/Resource/Setup.php(320): Mage_Core_Model_Resource_Setup->_upgradeResourceDb('1.6.0.0.8', '1.6.0.0.14') 
#3 /var/www/vhosts/liefstoereigenwijs.nl/site1/app/code/core/Mage/Core/Model/Resource/Setup.php(235): Mage_Core_Model_Resource_Setup->applyUpdates() 
#4 /var/www/vhosts/liefstoereigenwijs.nl/site1/app/code/core/Mage/Core/Model/App.php(417): Mage_Core_Model_Resource_Setup::applyAllUpdates() 
#5 /var/www/vhosts/liefstoereigenwijs.nl/site1/app/code/core/Mage/Core/Model/App.php(343): Mage_Core_Model_App->_initModules() 
#6 /var/www/vhosts/liefstoereigenwijs.nl/site1/app/Mage.php(683): Mage_Core_Model_App->run(Array) 
#7 /var/www/vhosts/liefstoereigenwijs.nl/site1/index.php(87): Mage::run('', 'store') 
#8 {main}";s:3:"url";s:1:"/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:7:"default";} 

我注意到,提升了不少的文件的文件權限後發生了變化,像的index.php改爲666

誰能幫我?

+0

根據您的錯誤消息,表「salesrule_website」已存在。刪除外鍵不會解決您的問題,它會產生更多問題。您應該首先使用此工具修復您的數據庫http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/db-repair-tool。 – 2012-07-29 10:07:23

+0

其他點,如果您已經運行更新過程,它已經在數據庫中創建了「salesrule_website」表。這意味着如果它沒有任何內容,則可能需要手動將其刪除,否則從數據庫備份開始並啓動更新過程。 – 2012-07-29 10:10:32

+0

http://duntuk.com/magento-upgrade – 2014-03-11 04:55:51

回答

1

根據您的安裝,似乎它在它之前沒有DROP TABLE IF EXISTS命令。這實際上對你有幫助。我會登錄到數據庫服務器管理員或根並執行以下命令:

create table catalog_product_entity_group_price_backup like catalog_product_entity_group_price; 

insert into catalog_product_entity_group_price_backup select * from catalog_product_entity_group_price; 

drop table catalog_product_entity_group_price; 

這應該創造一切從catalog_product_entity_group_price表到備份,並把它使Magento的可以完成升級。升級完成後,您可以比較兩個表併合並信息 - 如果表格結構不同,您甚至可以執行insert into catalog_product_entity_group_price select * from catalog_product_entity_group_price_backup;

乾杯。

+0

這不是解決方案。在這一行之後,它會搜索下一個...'如果退出'表可能會工作。但我不知道把它放在文件中。也許你可以看看我。這裏是文件:[鏈接](http://www.phpkode.com/source/p/magento/magento/app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.9-1.6 .0.0.10.php) – Ronny 2012-08-05 07:33:19