只需将我的网站升级到1.9.3.0并收到错误SQLSTATE [42S22]:找不到列:1054未知列'catalog_product_entity_group_price.is_percent'

Nav*_*eed 17 php magento magento-1.9

在我使用Magento 1.9.2.4和今天之前,我收到的消息是需要使用最新更新升级我的magento一些关键更新.

从下载部分升级我的网站一切顺利没有错误等,更新后我注意到两件事情我的index.php权限被更改为666网站正确打开我的意思是首页显示,但是当我点击任何产品它显示错误页面包含以下信息.

处理您的请求时出错

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'catalog_product_entity_group_price.is_percent' in 'field list', query was: SELECT `catalog_product_entity_group_price`.`value_id` AS `price_id`, `catalog_product_entity_group_price`.`website_id`, `catalog_product_entity_group_price`.`all_groups`, `catalog_product_entity_group_price`.`customer_group_id` AS `cust_group`, `catalog_product_entity_group_price`.`value` AS `price`, `catalog_product_entity_group_price`.`is_percent` FROM `catalog_product_entity_group_price` WHERE (entity_id='84') AND (website_id = 0)

Trace:
    #0 /home/MyWebsite/public_html/app/Mage.php(463): Mage_Core_Model_Config->getModelInstance('eav/entity_attr...', 'SQLSTATE[42S22]...')

   #1 /home/MyWebsite/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php(661): Mage::getModel('eav/entity_attr...', 'SQLSTATE[42S22]...')
   #2 /home/MyWebsite/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1641): Mage_Eav_Model_Entity_Abstract->walkAttributes('backend/afterLo...', Arr
Run Code Online (Sandbox Code Playgroud)

不知道如何回滚,因为我没有得到备份,因为他们说它是稳定的,或者无法解决此错误.

提前致谢

Ext*_*t3h 35

删除内容 var/cache/

对于将来,请记住在执行更新之前关闭编译器,所有索引和所有缓存.

发生了什么,是配置缓存仍处于活动状态,并阻止Magento检测到必须进行数据库更改.


小智 14

该问题是由is_percent表中缺少名为:的列引起的catalog_product_entity_group_price

Magento 1.9.3包含一个在数据库中创建该列的升级文件.该文件位于:app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.19.1.4-1.6.0.0.19.1.5.php

启用缓存后,安装程序无法运行升级脚本,从而导致OP报告错误.升级脚本失败的另一个可能原因是,在通过FTP上载所有文件之前刷新前端或后端.

如果刷新缓存不能解决问题(确保刷新任何外部缓存,如Redis),您可以尝试以下方法:

1)打开core_resource桌子

2)找到catalog_setup

3)如果当前值versiondata_versions是:1.6.0.0.19.1.5然后同时更改值1.6.0.0.19.1.2,并刷新前端的任何页面.

这将迫使Magento重新运行升级脚本并在数据库中创建缺少的列.

如果版本和data_version的值是,1.6.0.0.19.1.2那么您没有正确刷新缓存.