Magento 1.9.2.4を使用する前、今日は最新のアップデートでいくつかの重要なアップデートを使用してmagentoをアップグレードする必要があるというメッセージが表示されました。
ダウンローダーセクションから私のウェブサイトをアップグレードした後、すべてがエラーなしでうまくいったなど、index.phpのアクセス許可が666のウェブサイトに変更された後に気づく2つのことが起こりますフロントページの表示を意味しますが、製品をクリックすると表示されます次の情報を含むエラーページ。
リクエストの処理中にエラーが発生しました
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が検出できないことです。
この問題は、テーブル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からエラーが報告されます。アップグレードスクリプトが失敗するもう1つの原因は、FTP経由ですべてのファイルがアップロードされる前にフロントエンドまたはバックエンドを更新した場合です。
キャッシュをフラッシュしても問題が解決しない場合は(Redisなどの外部キャッシュを必ず更新してください)、次のことを試してください。
1)core_resource
テーブルを開きます
2)catalog_setup
行を探します
3)version
およびdata_versions
の現在の値が1.6.0.0.19.1.5
の場合、両方の値を1.6.0.0.19.1.2
に変更して、フロントエンドの任意のページを更新します。
これにより、Magentoはアップグレードスクリプトを再実行し、データベースに欠落している列を作成します。
Versionおよびdata_versionの値が1.6.0.0.19.1.2
の場合、キャッシュを適切にフラッシュしていません。
フォルダパス「var/cache /」からすべてのファイル/フォルダを削除します
アップグレードを開始する前に、キャッシュを無効にしてください。
私にとって、問題はRedisキャッシュでした。 Redisが有効になっているかどうか不明な場合は、app/etc/local.xmlファイルを確認してください。
Redisキャッシュをフラッシュするには:
redis-cli flushall
それでうまくいきました。