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_IDIndex ist ein eindeutiger Schlüssel für die increment_idSpalte in der sales_flat_invoiceTabelle. Wenn ich in dieser Tabelle nach dem increment_idin error ( 51986) genannten Produkt suche , finde ich, dass bereits eine Rechnung mit diesem Produkt increment_idvorhanden 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 51986bedeutet, 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;)