Просто обновите мой сайт до версии 1.9.3.0 и получите ошибку SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'catalog_product_entity_group_price.is_percent'

До того, как я использовал Magento 1.9.2.4, сегодня я получил сообщение, которое должно обновить мое magento с последним обновлением и некоторыми критическими обновлениями.

После обновления моего веб-сайта из раздела загрузчика все прошло хорошо, нет ошибок и т.д., произошли две вещи, которые я замечаю после обновления. Мое разрешение на index.php было изменено на 666 веб-сайт, правильно открывается. Я имею в виду отображение на первой странице, но когда я нажимаю на любую product Отображается страница с сообщением об ошибке.

Произошла ошибка при обработке вашего запроса

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_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

Когда кеш включен, установщик не может запустить обновление script, вызывая ошибку, сообщаемую OP. Другой возможной причиной неудачного обновления script является обновление внешнего интерфейса или бэкэнд до того, как все файлы будут загружены через 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 перезапустить обновление script и создать отсутствующий столбец в базе данных.

Если значение для версии и data_version равно 1.6.0.0.19.1.2, то вы неправильно очищаете кеш.

Ответ 3

Удалите все файлы/папки из пути к папке "var/cache/"

И убедитесь, что вы отключили кеширование перед началом обновления.

Ответ 4

Для меня проблема была в кеше Redis. Если вы не уверены, включен ли Redis, проверьте файл приложения /etc/local.xml.

Чтобы очистить кеш Redis:

redis-cli flushall 

Это сработало для меня.

Ответ 5

Убедитесь, что таблица существует.

Отметьте эту таблицу (sales_bestsellers_aggregated_yearly) в столбцах wheater 'product_type_id'. Если столбец "product_type_id" находится в таблице, то переиндексируйте и обновите кеш. Если столбец "product_type_id" отсутствует в этой таблице, вам необходимо создать структуру, такую ​​как прикрепленное изображение.

Просмотр базы данных sales_bestsellers_aggregated_yearly

Ответ 6

Сегодня я также столкнулся с той же проблемой, и я решил, выполнив следующие шаги:

  • Запустите указанный ниже запрос в базе данных

    ALTER TABLE sales_bestsellers_aggregated_yearly ADD product_type_id ТЕКСТ ХАРАКТЕР SET utf8 COLLATE utf8_general_ci NOT NULL AFTER product_id;

    ALTER TABLE catalog_product_entity_group_price ADD is_percent SMALLINT (5) НЕОПРЕДЕЛЕН НЕ НУЛЬТЫЙ ПО УМОЛЧАНИЮ '0' КОММЕНТАРИЙ 'Процент';

  • Удалить содержимое var/cache/