In unserem Shop Magento 2 plötzlich bestellen id um 1 , um ID - Skipping hat begonnen.
Hier ist das Beispiel für die Bestellnummer:
000000011
000000013
000000015
000000017
000000019
Ich habe mehrere Posts wie Magento-Bestellnummer-Ausgabe und Magento-Bestell-ID-Inkrement-Sprünge durchlaufen und sie sagen, dass dies auf eine fehlgeschlagene / unvollständige Zahlung zurückzuführen ist oder dass der Kunde nicht alle Checkout-Schritte abschließt, bei denen dieses Problem auftreten könnte .
Meine Frage ist also, dass es nur in den genannten Szenarien passieren sollte und ab der nächsten Bestellung sollte es gut funktionieren, wenn es kein Problem gibt, aber in meinem Fall wird immer 1 Bestellung übersprungen. Ich habe dies für rund 100 Bestellungen beobachtet.
Nur wenige Beiträge weisen darauf hin, dass dieses Problem aufgrund eines verlassenen Warenkorbs auftreten kann. Daher habe ich die Angebotstabellen mithilfe der folgenden Abfrage abgeschnitten. Das Problem besteht weiterhin.
SET FOREIGN_KEY_CHECKS=0;
TRUNCATE TABLE `quote`;
TRUNCATE TABLE `quote_address`;
TRUNCATE TABLE `quote_address_item`;
TRUNCATE TABLE `quote_id_mask`;
TRUNCATE TABLE `quote_item`;
TRUNCATE TABLE `quote_item_option`;
TRUNCATE TABLE `quote_payment`;
TRUNCATE TABLE `quote_shipping_rate`;
SET FOREIGN_KEY_CHECKS=1;
Wie kann ich das beheben?
reserveOrderId
ohne zu prüfen, ob das Angebot bereits eine reservierte Bestellnummer hat. Deaktivieren Sie alle benutzerdefinierten Erweiterungen und prüfen Sie, ob dies geschieht.setReservedOrderId($reservedOrderId)
, die Sie möglicherweise zum richtigen Punkt führen. Wenn Sie die Möglichkeit haben, würde ich vorschlagen, ein Plugin zu erstellen und es vor dieser Methode zuAntworten:
Nachdem ich mich mit einigen Artikeln befasst habe, die ich herausgefunden habe, gibt es keine andere Möglichkeit, um 2 zu erhöhen:
Magento speichert die ID der automatischen Inkrementierung der Bestellung in
sequence_order_1
oder in dersequence_order_2
Tabelle basierend auf den Filialen. Daher wird standardmäßig nur 1 Inkrement-ID verwendet. Es sei denn, jemand ändert denauto_increment_increment
Wert der Datenbank wie:Versuchen Sie diesen Befehl und prüfen Sie, ob Ihr Wert für die automatische Inkrementierung festgelegt ist:
Ich habe keine andere Lösung gefunden.
Hinweis: Wenn dieses Problem bei der Auftragsinkrement-ID auftritt und es aufgrund des automatischen Inkrementwerts auftritt, tritt es bei allen Tabellen auf, da es sich um eine globale Variable handelt
Ich wollte nur helfen :)
quelle
sequence_order_1
Tabelle aktualisiert . Nachdem dies geändert wurde, war die inkrementelle ID der Reihe nach, aber später trat dieses Problem auf.sequence_order_1
TabelleAUTO_INCREMENT
Wert ist90691
aber zuletztsequence_value
ist90689
in dieser Tabelle.SET @@auto_increment_increment=1;
Datenbank anprobiert?auto-increment-increment = 2
in/etc/my.cnf
Datei gesetzt wurde. Nach der Aktualisierung ist das Problem behoben.Überprüfen Sie den Wert der
step
Spalte in dersales_sequence_profile
Tabelle aufmeta_id
(5 kann unterschiedlich sein, aber Sie müssen nach demorder
einen suchen )quelle
step
Spalte1
für alle Zeilen in dersales_sequence_profile
Tabelle gilt.