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_id
coluna da sales_flat_invoice
tabela. Quando procuro nesta tabela o increment_id
mencionado no erro ( 51986
), percebo que já existe uma fatura com isso increment_id
e é 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 51986
significa 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;)