Po aktualizacji mojego Magento do EE 1.14.2.0 cron enterprise_refresh_index
zawsze otrzymuje ten błąd:
wyjątek „PDOException” z komunikatem „SQLSTATE [42S02]: Nie znaleziono tabeli podstawowej lub widoku: 1146 Tabela„ katalog_produktu_produktu_tmp_indexer ”nie istnieje” w /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228
Nie rozumiem, dlaczego ten stół nie istnieje. Czy Magento nie powinien go utworzyć w trakcie indeksu odświeżania?
Odpowiedzi:
Dostępna jest łatka Magento SUPEE-5984, która rozwiązuje tego rodzaju problemy z indeksem odświeżania przedsiębiorstwa.
źródło
Ten błąd wystąpił po ponownym uruchomieniu bazy danych w środowisku produkcyjnym i po pierwszym reindeksie w lokalnym środowisku programistycznym z uruchomionym programem EE 1.14.2.3.
To, co działało dla nas, było następujące:
źródło
Nie mogę jeszcze komentować istniejących komentarzy / odpowiedzi, ale mogę potwierdzić, że SUPEE-5984 wydaje się rozwiązać problem, przynajmniej dla naszego klienta, który napotkał ten problem (mają ponad milion produktów, więc nadal nie ma skończył działać, ale teraz działa ...). Otworzyliśmy bilet z Magento poprzez umowę z naszym klientem dotyczącą wsparcia, a Magento dostarczył nam łatkę w niecałą godzinę.
źródło
Do wykorzystania w przyszłości: Błąd nie występuje, gdy przywracam plik
app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.php
do naszej poprzedniej wersji 1.14.0.1.Wydaje się, że nowy parametr
$resetFlag
w funkcji_reindex
powoduje problem.źródło
Miałem ten sam problem z Magento EE 1.14.2.3, ale powyższe rozwiązania nie działały dla mnie. Dowiedziałem się, że jest problem
Enterprise_Catalog_Helper_Product::getFlatColumns
. Rozwiązałem to, zmieniając linięif ($columns !== null) {
do
if ($columns !== null && $columns !== false) {
Oczywiście: nie edytuj bezpośrednio pliku podstawowego, ale przepisz.
źródło