nach einen Produkt Import mit cart2cart
bekam ich folgende Meldung beim der Indexierung via SSH
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`catalog_category_product_index`, CONSTRAINT `FK_CATALOG_CATEGORY_PROD_IDX_CATEGORY_ENTITY` FOREIGN KEY (`category_id`) REFERENCES `catalog_category_entity` (`entity_id`)
Der Fehler sagt aus, dass eine so genannte Constraint, eine zwingende Beziehung zwischen den Daten zweier Datenbanktabellen, verletzt ist. In diesem Fall ist es eine Kategorie-Id in der Verknüpfungstabelle catalog_category_product, für die keine passende Kategorie in der Tabelle catalog_category_entity mehr existiert.
mit folgender Abfrage können die Datensätze gefunden werden. Diese können dann bedenken los gelöscht werden.
SELECT cp.category_id FROM catalog_category_product cp LEFT JOIN catalog_category_entity c ON cp.category_id = c.entity_id WHERE ISNULL( c.entity_id )
das Problem sollte dann behoben sein und mit php -f indexer.php reindexall können die Indices neu aufgebaut werden können.
das Kleich kann auch mit Artikel passieren dafür kann folgende abfrage benutzt werden
SELECT cp.product_id
FROM `catalog_category_product` cp
LEFT JOIN catalog_product_entity p ON cp.product_id = p.entity_id
WHERE ISNULL( p.entity_id )