Ich helfe einem Händler dabei, die Ursache für einige fehlgeschlagene Zahlungstransaktionen (während eines Tages mit hohen Bestellmengen) zu ermitteln, die mit dem folgenden Fehler fehlgeschlagen sind
SQLSTATE [23000]: Verletzung der Integritätsbedingung: 1062 Doppelter Eintrag '51986' für Schlüssel 'UNQ_SALES_FLAT_INVOICE_INCREMENT_ID'
Der UNQ_SALES_FLAT_INVOICE_INCREMENT_ID
Index ist ein eindeutiger Schlüssel für die increment_id
Spalte in der sales_flat_invoice
Tabelle. Wenn ich in dieser Tabelle nach dem increment_id
in error ( 51986
) genannten Produkt suche , finde ich, dass bereits eine Rechnung mit diesem Produkt increment_id
vorhanden ist und dass es sich um eine Bestellung eines anderen Kunden handelt.
Meine 2 Fragen bezogen sich darauf
Wo wird in Magento CE 1.9.0.1 normalerweise eine Rechnungs-ID erstellt?
Gibt es bekannte Probleme in einem Lager Magento CE 1.9.0.1 mit kollidierenden Rechnungs-IDs für nahezu gleichzeitige Bestellungen?
Ich weiß, dass die Inkrement-ID 51986
bedeutet, dass der Store eine Erweiterung zum Ändern der installierten Inkrement-IDs hat, aber ich möchte sicherstellen, dass keine wissenschaftlichen Erkenntnisse vorliegen, bevor ich diesen Pfad zu weit gehe.
save()
Methodenaufruf in ein bestimmtes Beobachterereignis platzierte, was manchmal zu diesem Problem führte - in den Tagen vor der Codeüberprüfung;)