SQLSTATE [42S22]: столбец не найден: 1054 неизвестный столбец 'e.status' после 1.9.2 обновления

18

Мы только что обновили с 1.90 до 1.92, и следующая ошибка показывает ...

Есть идеи как это исправить?

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'e.status' in 'where clause',
query was:
SELECT COUNT(DISTINCT e.entity_id) FROM `catalog_product_flat_1` AS `e`
INNER JOIN `catalog_category_product_index` AS `cat_index`
ON cat_index.product_id=e.entity_id AND cat_index.store_id=1 AND cat_index.category_id = '301' AND cat_index.is_parent=1
WHERE (e.status = 1)


Trace:
#0 public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 public_html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 public_html/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#3 public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT COUNT(DI...', Array)
#4 public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(504): Zend_Db_Adapter_Pdo_Abstract->query('SELECT COUNT(DI...', Array)
#5 public_html/lib/Zend/Db/Adapter/Abstract.php(828): Varien_Db_Adapter_Pdo_Mysql->query(Object(Varien_Db_Select), Array)
#6 public_html/lib/Varien/Data/Collection/Db.php(225): Zend_Db_Adapter_Abstract->fetchOne(Object(Varien_Db_Select), Array)
#7 public_html/app/design/frontend/novaworks/bearstore/template/page/html/home-content.phtml(104): Varien_Data_Collection_Db->getSize()
#8 public_html/app/code/core/Mage/Core/Block/Template.php(241): include('...')
#9 public_html/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/novawo...')
#10 public_html/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#11 public_html/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Core_Block_Template->_toHtml()
#12 public_html/app/code/core/Mage/Core/Block/Abstract.php(637): Mage_Core_Block_Abstract->toHtml()
#13 public_html/app/code/core/Mage/Core/Block/Abstract.php(581): Mage_Core_Block_Abstract->_getChildHtml('home.content', true)
#14 public_html/app/design/frontend/novaworks/bearstore/template/page/html/header.phtml(117): Mage_Core_Block_Abstract->getChildHtml('home.content')
#15 public_html/app/code/core/Mage/Core/Block/Template.php(241): include('...')
#16 public_html/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/novawo...')
#17 public_html/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#18 public_html/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Core_Block_Template->_toHtml()
#19 public_html/app/code/core/Mage/Core/Block/Abstract.php(637): Mage_Core_Block_Abstract->toHtml()
#20 public_html/app/code/core/Mage/Core/Block/Abstract.php(581): Mage_Core_Block_Abstract->_getChildHtml('header', true)
#21 public_html/app/design/frontend/novaworks/bearstore/template/page/1column.phtml(65): Mage_Core_Block_Abstract->getChildHtml('header')
#22 public_html/app/code/core/Mage/Core/Block/Template.php(241): include('...')
#23 public_html/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/novawo...')
#24 public_html/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#25 public_html/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Core_Block_Template->_toHtml()
#26 public_html/app/code/core/Mage/Core/Model/Layout.php(555): Mage_Core_Block_Abstract->toHtml()
#27 public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(390): Mage_Core_Model_Layout->getOutput()
#28 public_html/app/code/core/Mage/Cms/Helper/Page.php(137): Mage_Core_Controller_Varien_Action->renderLayout()
#29 public_html/app/code/core/Mage/Cms/Helper/Page.php(52): Mage_Cms_Helper_Page->_renderPage(Object(Mage_Cms_IndexController), 'shop')
#30 public_html/app/code/core/Mage/Cms/controllers/IndexController.php(45): Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_IndexController), 'shop')
#31 public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Cms_IndexController->indexAction()
#32 public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('index')
#33 public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#34 public_html/app/code/core/Mage/Core/Model/App.php(365): Mage_Core_Controller_Varien_Front->dispatch()
#35 public_html/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#36 public_html/index.php(83): Mage::run('', 'store')
#37 {main}
Майкл
источник
3
Вы уверены, что обновление прошло нормально? Похоже, столбец отсутствует, это ваш плоский стол. Вы пытались повторно проиндексировать весь магазин, очистить кеш и т. Д. После обновления?
Жюльен Лахаль
мы получаем эту ошибку, но очень редко. Я попытался переиндексировать и повторно кэшировать, и это только временно решает проблему. какие-нибудь идеи, кроме, возможно, планирования этого через cron? не повлияло бы на производительность, если бы мы сделали это?
Сам Йи

Ответы:

28

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

  1. Панель управления Magento
  2. система
  3. Управление индексами
  4. Выбрать все
  5. Отправить (переиндексировать данные)

Ниже приведены действия, если вы не можете войти в консоль администратора.

... что, вероятно, имеет место, если вы получаете эту ошибку SQL при доступе к любой странице ...

Чтобы выполнить следующие шаги, вы должны иметь возможность подключиться через ssh к консоли терминала вашего хостинг-провайдера.

  1. SSH в ваш провайдер веб-хостинга
  2. перейти к <magento_root>/shellпапке

    cd /path/to/magento/installation/folder/shell

  3. Запустите индексатор, чтобы восстановить все индексы (это может занять некоторое время ...)

    php -f indexer.php reindexall

  4. Если у вас включена компиляция (и вы, вероятно, не должны , но если вы это делаете), то пересоберите:

    php -f compiler.php compile

  5. Очистить все ваши кэши Magento

    php -f cleanCache.php clean all

После того как все сказано и сделано, у вас должна быть работающая установка. Вы сможете войти в консоль администратора, и указанная выше ошибка должна исчезнуть.

Рахул Кумар Дас
источник
Отлично. Переиндексирован и теперь работает отлично.
Майкл
Майкл, ты смог войти в консоль администратора и выполнить эти шаги? Я не смог в моем тестировании, когда я воспроизвел ошибку, поэтому я обновил принятый ответ с шагами о том, как сделать это из командной строки, которую я мог воспроизвести и подтвердить, также решил проблему ....
Брайан 'BJ' Хоффпауир-младший .