Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro Magento SQLSTATE se houver um item no inventário do produto


Costumávamos ter um problema semelhante no magento 1.7, aconteceu porque introduzimos um "novo" tipo de produto que é um pacote de produtos configuráveis. Nesse caso, tivemos alguns produtos que eram ao mesmo tempo pai de alguns produtos e filhos de alguns outros (os pacotes) dessa forma quando _copyRelationIndexData foi chamado por reindexProductIds tabela catalog_product_index_price_tmp foi preenchida com algumas linhas pertencentes a "produtos compostos" causando a "violação de restrição de integridade" quando reindexEntity é chamado. :
protected function _copyRelationIndexData($parentIds, $excludeIds = null)
    {
        if(!is_null($excludeIds) && is_array($excludeIds)){
            $excludeIds = array_merge($excludeIds,$parentIds);
        }
        return parent::_copyRelationIndexData($parentIds, $excludeIds);
    }