We hadden een soortgelijk probleem met magento 1.7, het gebeurde omdat we een "nieuw" type product introduceerden dat een bundel configureerbare producten is. In dit geval hadden we een aantal producten die tegelijkertijd ouder waren van sommige producten en kinderen van een aantal andere (de bundels) op die manier toen _copyRelationIndexData werd aangeroepen door reindexProductIds catalog_product_index_price_tmp tabel was gevuld met enkele rijen die behoren tot "samengestelde producten" die de "schending van integriteitsbeperking" veroorzaakten wanneer reindexEntity wordt aangeroepen. Om een lang verhaal kort te maken hebben we de _copyRelationIndexData-methode op deze manier overschreven :
protected function _copyRelationIndexData($parentIds, $excludeIds = null)
{
if(!is_null($excludeIds) && is_array($excludeIds)){
$excludeIds = array_merge($excludeIds,$parentIds);
}
return parent::_copyRelationIndexData($parentIds, $excludeIds);
}