Magento - 将magento从1.6.2更新到1.7.0.2

Ron*_*nny 6 mysql magento

嗨,当我更新我的magento 1.6.2到1.7.0.2文件更新工作正常...(我在我的测试服务器上所有trieing)

我尝试通过diff文件或magento connect更新时获得相同的错误(更新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: ...')
Run Code Online (Sandbox Code Playgroud)

和以下相同:

  • 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 - 无法删除或更新父行:外键约束失败

谁能告诉我我做错了什么......

更新01-08-2012

我使用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";}
Run Code Online (Sandbox Code Playgroud)

我注意到升级后许多文件的文件权限已经改变,比如index.php改为666.

谁能帮我?

phi*_*kle 1

根据您的安装,它前面似乎没有命令DROP TABLE IF EXISTS。这实际上是在帮助你。我将以管理员或 root 身份登录到数据库服务器并执行以下命令:

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;
Run Code Online (Sandbox Code Playgroud)

这应该将catalog_product_entity_group_price表中的所有内容创建到备份中,并将其删除,以便 Magento 可以完成升级。升级完成后,您可以比较两个表并将信息合并 - 如果表在结构上没有不同,您甚至可以执行insert into catalog_product_entity_group_price select * from catalog_product_entity_group_price_backup;

干杯。