Dříve jsme měli podobný problém na magento 1.7, stalo se to proto, že jsme představili „nový“ typ produktu, který je balíčkem konfigurovatelných produktů. V tomto případě jsme měli některé produkty, které byly zároveň rodičem některých produktů a dětí některých dalších (balíkových) tímto způsobem, když byl _copyRelationIndexData volán reindexProductIds, tabulka Catalog_product_index_price_tmp byla naplněna některými řádky patřícími „složeným produktům“, což způsobilo „porušení omezení integrity“ při volání reindexEntity. Zkrátka, přepsali jsme metodu _copyRelationIndexData :
protected function _copyRelationIndexData($parentIds, $excludeIds = null)
{
if(!is_null($excludeIds) && is_array($excludeIds)){
$excludeIds = array_merge($excludeIds,$parentIds);
}
return parent::_copyRelationIndexData($parentIds, $excludeIds);
}