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

2022-08-30 21:34:41

在我使用Magento 1.9.2.4之前,今天我收到消息说需要使用最新更新来升级我的Magento一些关键更新。

从下载器部分升级我的网站后,一切都顺利没有错误等,发生了两件事,我在更新索引后注意到.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

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

提前致谢


答案 1

删除var/cache/

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

发生的情况是,配置缓存仍处于活动状态,并阻止Magento检测到数据库更改是必要的。


答案 2

此问题是由表中缺少名为 : 的列引起的is_percentcatalog_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_versions1.6.0.0.19.1.51.6.0.0.19.1.2

这将强制 Magento 重新运行升级脚本并在数据库中创建缺少的列。

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


推荐