Nachdem ich mein Magento auf EE 1.14.2.0 aktualisiert habe, erhält der Cron enterprise_refresh_index
immer diesen Fehler:
Ausnahme 'PDOException' mit der Meldung 'SQLSTATE [42S02]: Basistabelle oder Sicht nicht gefunden: 1146 Tabelle' catalog_product_entity_tmp_indexer 'existiert nicht' in /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228
Ich verstehe nicht, warum diese Tabelle nicht existiert. Sollte Magento es nicht während des Aktualisierungsindex erstellen?
magento-enterprise
database
error
indexing
ee-1.14.2.0
Witz setzt
quelle
quelle
Antworten:
Es gibt einen Magento-Patch SUPEE-5984, der diese Art von Enterprise Refresh Index-Problemen behebt.
quelle
Dieser Fehler trat nach einem Datenbankneustart in der Produktion und nach einer ersten Neuindizierung in einer lokalen Entwicklungsumgebung mit EE 1.14.2.3 auf.
Was bei uns funktioniert hat war folgendes:
quelle
Ich kann die vorhandenen Kommentare / Antworten noch nicht kommentieren, aber ich kann bestätigen, dass SUPEE-5984 das Problem zu lösen scheint, zumindest für unseren Kunden, der auf dieses Problem gestoßen ist (er hat über eine Million Produkte, hat es also immer noch nicht Laufen beendet, aber es läuft jetzt ...). Wir haben mit Magento ein Ticket über den Supportvertrag unseres Kunden eröffnet und Magento hat uns den Patch in weniger als einer Stunde zugesandt.
quelle
Zum späteren Nachschlagen: Der Fehler tritt nicht auf, wenn ich die Datei
app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.php
auf unsere vorherige Version 1.14.0.1 zurücksetze.Der neue Parameter
$resetFlag
in der Funktion_reindex
scheint das Problem zu verursachen.quelle
Ich hatte das gleiche Problem mit Magento EE 1.14.2.3, aber die oben genannten Lösungen haben bei mir nicht funktioniert. Ich habe herausgefunden, dass das Problem darin liegt
Enterprise_Catalog_Helper_Product::getFlatColumns
. Ich habe es gelöst, indem ich die Zeile geändert habeif ($columns !== null) {
zu
if ($columns !== null && $columns !== false) {
Natürlich: Bearbeiten Sie die Core-Datei nicht direkt, sondern schreiben Sie sie neu.
quelle