Ошибка индекса после обновления до EE 1.14.2.0: таблица catalog_product_entity_tmp_indexer не существует

16

После того, как я обновил свой Magento до EE 1.14.2.0, cron enterprise_refresh_indexвсегда получает эту ошибку:

исключение «PDOException» с сообщением «SQLSTATE [42S02]: базовая таблица или представление не найдено: 1146 Таблица» catalog_product_entity_tmp_indexer «не существует» в /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228

Я не понимаю, почему эта таблица не существует. Разве Magento не должен создавать его в процессе обновления индекса?

Шутка кладет
источник
1
Если у вас есть EE, я думаю, вы получите поддержку?
Ричард
Да, я мог бы попробовать это таким образом.
Шутка ставит
1
@Richard, который показывает, что вы никогда не пользовались поддержкой EE.
user487772
@TimBezhashvyly Привет Тим, нет, я никогда не использовал EE, хотя
Ричард

Ответы:

5

Есть патч Magento SUPEE-5984, который решает такие проблемы с индексом обновления предприятия.

LearnerCurve
источник
Я не смог найти этот патч, если бы у вас была копия, она была бы очень признательна.
Генри Кот
Пожалуйста, свяжитесь со службой поддержки Magento по адресу support@magento.com. Спасибо.
LearnerCurve
1
Вы можете найти патч на github.com/brentwpeterson/magento-patches/blob/master/EE1.14/… .
Андреас фон Студниц
5

Мы столкнулись с этой ошибкой после перезапуска базы данных в рабочей среде и после первого переиндексации в локальной среде разработки, на которой запущена EE 1.14.2.3.

У нас сработало следующее:

  1. Отключить плоский каталог товаров
  2. Обратите внимание, что индексатор работает успешно
  3. Включить плоский каталог продукции
  4. Обратите внимание, что индексатор работает успешно
Аад Матейссен
источник
1
Я протестировал этот обходной путь, и он, похоже, сработал для меня, позволив успешно завершить
задание enterprise_refresh_index
У меня тоже работает.
df2k2
4

Я пока не могу комментировать существующие комментарии / ответы, но могу подтвердить, что SUPEE-5984, похоже, решает проблему, по крайней мере, для нашего клиента, который столкнулся с этой проблемой (у них более миллиона продуктов, поэтому он до сих пор не имеет закончили бегать, но теперь он работает ...). Мы открыли тикет с Magento через контракт с клиентом, и Magento получил нам патч менее чем за час.

jvaughn
источник
1
Внимание, если вы обновились до 1.14.2.3 после исправления, вы должны применить исправление снова, потому что оно не включено в последний выпуск
Fabian Schmengler
Напомним, что в 1.14.3 проблема, похоже, решена по-другому, и патч больше не нужен
Фабиан Шменглер,
4

Для дальнейшего использования: ошибка не возникает, когда я возвращаю файл app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.phpк нашей предыдущей версии 1.14.0.1.
Новый параметр $resetFlagв функции, _reindexкажется, вызывает проблему.

Шутка кладет
источник
«Круто», просто столкнулся с той же проблемой. Постараюсь, если это решит и нашу проблему.
Анна Фёлькл,
Я могу подтвердить, что возврат файла устраняет ошибку. Сделал обновление с 1.14.0.1 до 1.14.2.0 и только что создал файл патча с измененным содержимым Refresh.php. Далее: обращение в службу поддержки EE.
Анна Фёлькл,
@ AnnaVölkl, они предоставили тебе какие-нибудь новости об этом?
Сергей Гук
2
@ Сергей Гук: До сих пор я только сбросил файл и не просил официальную поддержку или патч. Обновление до 1.14.2.1 (может быть там решено?) Находится в очереди. Нужно расследовать дальше, когда есть время.
Анна Фёлькл
1
Обновление до 1.14.2.1 не исправляет это. У поддержки Magento есть патч, но я все еще должен проверить это.
Шутка ставится
1

У меня была та же проблема с Magento EE 1.14.2.3, но вышеупомянутые решения не работали для меня. Я узнал, что проблема была в Enterprise_Catalog_Helper_Product::getFlatColumns. Я решил это, изменив строку

if ($columns !== null) {

в

if ($columns !== null && $columns !== false) {

Конечно: не редактируйте основной файл напрямую, но сделайте переписывание.

Андреас фон Студниц
источник