Estou ajudando um comerciante a rastrear a causa raiz de algumas transações de pagamento com falha (durante um dia intenso de pedido), que falharam com o seguinte erro
SQLSTATE [23000]: Violação de restrição de integridade: 1062 Entrada duplicada '51986' para a chave 'UNQ_SALES_FLAT_INVOICE_INCREMENT_ID'
O UNQ_SALES_FLAT_INVOICE_INCREMENT_IDíndice é uma chave exclusiva na increment_idcoluna da sales_flat_invoicetabela. Quando procuro nesta tabela o increment_idmencionado no erro ( 51986), percebo que já existe uma fatura com isso increment_ide é para um pedido feito por um cliente diferente.
Minhas 2 perguntas relacionadas a este
Onde no Magento CE 1.9.0.1 é normalmente criado um ID da fatura?
Existem problemas conhecidos em um Magento CE 1.9.0.1 com IDs de faturas em colisão para pedidos quase simultâneos?
Sei que o ID de incremento 51986significa que a loja tem algum tipo de extensão para alterar os IDs de incremento instalados, mas quero garantir que não haja ciência conhecida por isso antes de ir muito longe nesse caminho.
save()chamada de método em um evento observador específica que, às vezes, causar esse problema - nos dias que antecederam a revisão do código;)