Преди имахме подобен проблем на Magento 1.7, това се случи, защото въведохме "нов" тип продукт, който е пакет от конфигурируеми продукти. В този случай имахме някои продукти, които в същото време бяха родител на някои продукти и деца от някои други (пакетните) по този начин, когато _copyRelationIndexData беше извикан от reindexProductIds таблицата catalog_product_index_price_tmp беше запълнена с някои редове, принадлежащи на „композитни продукти“, причинявайки „нарушение на ограничението на целостта“, когато се извика reindexEntity. Накратко, ние отменяхме този метод на _xcopyRelation по този начин :
protected function _copyRelationIndexData($parentIds, $excludeIds = null)
{
if(!is_null($excludeIds) && is_array($excludeIds)){
$excludeIds = array_merge($excludeIds,$parentIds);
}
return parent::_copyRelationIndexData($parentIds, $excludeIds);
}