Überspringen der Bestellnummer um 1 in Magento 2

7

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?

amitshree
quelle
4
Haben Sie Erweiterungen, die sich auf die Bestellungen auswirken könnten? Es besteht die Möglichkeit, dass eine Nebenstelle anruft, reserveOrderIdohne zu prüfen, ob das Angebot bereits eine reservierte Bestellnummer hat. Deaktivieren Sie alle benutzerdefinierten Erweiterungen und prüfen Sie, ob dies geschieht.
Marius
1
Können Sie bitte angeben, welchen Zahlungsausflug / welche Verlängerung Sie verwenden? Irgendwann reserviert die Zahlungserweiterung die Bestell-ID, bevor sie zur Zahlung weitergeleitet wird, und nach erfolgreicher Zahlungsbestellung wird mit dieser Reservierungs-Bestell-ID erstellt.
Pritam Info 24
@Marius, ich habe ein Modul, das die Angebots- und Auftragstabelle ändert. Ich werde versuchen, es zu deaktivieren, wenn es funktioniert.
Amitshree
@ PritamInfo24, ich verwende PayUMoney Zahlungsgateway. Die Bestellung erfolgt jedoch in Magento, sobald ich auf "Bestellung aufgeben" klicke.
Amitshree
1
Ich denke, diese Annahme von Marius ist der richtige Weg, um das Problem zu finden. Ich würde vorschlagen, Ihren gesamten Quellcode nach den Aufrufen der Methode zu durchsuchen 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 zu
verknüpfen

Antworten:

3

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_1oder in der sequence_order_2Tabelle basierend auf den Filialen. Daher wird standardmäßig nur 1 Inkrement-ID verwendet. Es sei denn, jemand ändert den auto_increment_incrementWert der Datenbank wie:

SET @@auto_increment_increment=2;

Versuchen Sie diesen Befehl und prüfen Sie, ob Ihr Wert für die automatische Inkrementierung festgelegt ist:

SET @@auto_increment_increment=1;

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 :)

Shoaib Munir
quelle
Vor ein paar Tagen habe ich auto_increment für sequence_order_1Tabelle aktualisiert . Nachdem dies geändert wurde, war die inkrementelle ID der Reihe nach, aber später trat dieses Problem auf.
Amitshree
Ich denke, @Kamal Paliwal hat den Punkt, Sie müssen sales_sequence_profile Wert überprüfen, aber Meta-Wert könnte alles sein, es könnte 6 sein
Shoaib Munir
In sequence_order_1Tabelle AUTO_INCREMENTWert ist 90691aber zuletzt sequence_value ist 90689in dieser Tabelle.
Amitshree
Das ist komisch. Haben Sie die SET @@auto_increment_increment=1;Datenbank anprobiert?
Shoaib Munir
2
Danke Shoaib. Das hat mir in die richtige Richtung geholfen, das Problem zu finden. Problem war, dass auto-increment-increment = 2in /etc/my.cnfDatei gesetzt wurde. Nach der Aktualisierung ist das Problem behoben.
Amitshree
2

Überprüfen Sie den Wert der stepSpalte in der sales_sequence_profileTabelle auf meta_id(5 kann unterschiedlich sein, aber Sie müssen nach dem ordereinen suchen )

Kamal Paliwal
quelle
Sie haben den Punkt, aber in meinem Fall ist Meta-Wert 6. Gute Antwort
Shoaib Munir
Es könnte an verschiedenen Magento-Versionen liegen
Kamal Paliwal
Ich sehe, dass der Wert der stepSpalte 1für alle Zeilen in der sales_sequence_profileTabelle gilt.
Amitshree