mysql - Magento - 将 magento 从 1.6.2 更新到 1.7.0.2

标签 mysql magento

嗨,当我将我的 magento 1.6.2 更新到 1.7.0.2 时,文件更新工作正常...... (我都在我的测试服务器上尝试这个)

我在尝试通过差异文件或 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

为了解决这个问题,我删除了这些 key 。 (虽然这看起来不太对)

但是我无法删除最后一个键。我得到 #1217 - 无法删除或更新父行:外键约束失败

谁能告诉我我哪里做错了...

2012 年 1 月 8 日更新

我使用 magento 的 reapir 工具修复了数据库。 之后我通过将 mage_all_latest 更新为 1.7.0.2 来更新 magento。

一切正常,除了最后我得到: “缓存和 session 清理期间出现异常”,但安装期间没有其他错误。

然后我返回到管理员,我得到一个白屏。 等待一段时间后,我清除了 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。

谁能帮帮我?

最佳答案

根据您的安装,似乎它前面没有 DROP TABLE IF EXISTS 命令。这实际上是在帮助你。我将以 admin 或 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;

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

干杯。

关于mysql - Magento - 将 magento 从 1.6.2 更新到 1.7.0.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11708274/

相关文章:

mysql - 引入一列从 1 到 381 的数字

mysql - docker 在 alpine linux 中构建 python django 应用程序时出错

php - 带有自签名证书的 PDO

css - AMP - 自定义字体未加载到 CDN 网址中

javascript - 如何在magento中进行图像类型验证?

mysql - ORDER BY 公式无法正常工作

mysql:使用 st_distance_sphere 给出 OK 但没有结果

magento - 在 magento 中导出带有产品 ID 的数据流

php - 集合可见性和状态过滤器已弃用,应该使用什么来代替?

php - 在 magento 后端翻译自定义模块管理面板