刚刚将我的网站升级到 1.9.3.0 并收到错误 SQLSTATE[42S22]: Column not found: 1054 Unknown column 'catalog_product_entity_group_price.is_percent'
Just upgrade my site to 1.9.3.0 and got error SQLSTATE[42S22]: Column not found: 1054 Unknown column 'catalog_product_entity_group_price.is_percent'
在我使用 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
不知道如何回滚,因为我没有得到备份,因为他们说它是稳定的,或者无法解决这个错误。
提前致谢
删除var/cache/
的内容
为了将来,请记住在执行更新之前关闭编译器、所有索引和所有缓存。
发生了什么,配置缓存仍然处于活动状态,并阻止 Magento 检测到数据库更改是必要的。
此问题是由 table catalog_product_entity_group_price
中缺少名为 is_percent
的列引起的
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
table
2) 找到 catalog_setup
行
3) 如果 version
和 data_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
那么您没有正确刷新缓存。
对我来说,问题是 Redis 缓存。如果您不确定是否启用了 Redis,请检查您的 app/etc/local.xml 文件。
刷新 Redis 缓存:
redis-cli flushall
这对我有用。
从文件夹路径 "var/cache/"
中删除所有 files/folders
并确保在开始升级之前禁用缓存。
确保 table 存在。
检查此 table (sales_bestsellers_aggregated_yearly) 小麦 'product_type_id' 列在其中。如果 'product_type_id' 列在 table 中,则重新索引并刷新缓存。如果 'product_type_id' 列不在那个 table 中,那么您需要创建像附加图像一样的结构。
今天我也遇到了同样的问题,我已经通过以下步骤解决了:
运行 数据库中的以下查询
更改 TABLE sales_bestsellers_aggregated_yearly
添加 product_type_id
文本字符集 utf8 整理 utf8_general_ci 在 product_id
之后不为空;
ALTER TABLE catalog_product_entity_group_price
ADD is_percent
SMALLINT( 5 ) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Percent';
删除var/cache/
的内容
在我使用 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
不知道如何回滚,因为我没有得到备份,因为他们说它是稳定的,或者无法解决这个错误。
提前致谢
删除var/cache/
为了将来,请记住在执行更新之前关闭编译器、所有索引和所有缓存。
发生了什么,配置缓存仍然处于活动状态,并阻止 Magento 检测到数据库更改是必要的。
此问题是由 table catalog_product_entity_group_price
is_percent
的列引起的
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
table
2) 找到 catalog_setup
行
3) 如果 version
和 data_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
那么您没有正确刷新缓存。
对我来说,问题是 Redis 缓存。如果您不确定是否启用了 Redis,请检查您的 app/etc/local.xml 文件。
刷新 Redis 缓存:
redis-cli flushall
这对我有用。
从文件夹路径 "var/cache/"
中删除所有 files/folders并确保在开始升级之前禁用缓存。
确保 table 存在。
检查此 table (sales_bestsellers_aggregated_yearly) 小麦 'product_type_id' 列在其中。如果 'product_type_id' 列在 table 中,则重新索引并刷新缓存。如果 'product_type_id' 列不在那个 table 中,那么您需要创建像附加图像一样的结构。
今天我也遇到了同样的问题,我已经通过以下步骤解决了:
运行 数据库中的以下查询
更改 TABLE
sales_bestsellers_aggregated_yearly
添加product_type_id
文本字符集 utf8 整理 utf8_general_ci 在product_id
之后不为空;ALTER TABLE
catalog_product_entity_group_price
ADDis_percent
SMALLINT( 5 ) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Is Percent';删除var/cache/
的内容