Inkrement-ID ändern
- Themen:
- Konfiguration
Erstellt für:
- Experte
- Admin
- Entwickler
In diesem Artikel wird beschrieben, wie Sie die Inkrement-ID für eine Commerce-Datenbankentität (DB) (Bestellung, Rechnung, Gutschrift usw.) für einen bestimmten Commerce Store mithilfe der ALTER TABLE
SQL-Anweisung ändern.
Betroffene Versionen
- Adobe Commerce (On-Premise): 2.x.x
- Adobe Commerce auf Cloud-Infrastruktur: 2.x.x
- MySQL: Beliebige unterstützte Version
Wann müssten Sie die Inkrement-ID ändern?
Möglicherweise müssen Sie in folgenden Fällen die Inkrement-ID für neue DB-Entitäten ändern:
- Nach einer Hard Backup-Wiederherstellung auf einer Live Site
- Einige Auftragsdatensätze sind verloren gegangen, aber ihre IDs werden bereits von Zahlungs-Gateways (wie PayPal) für Ihr aktuelles Händlerkonto verwendet. In diesem Fall verarbeiten die Zahlungs-Gateways keine neuen Bestellungen mehr, die dieselben IDs haben, sondern geben den Fehler „Rechnungsduplikat-ID“ zurück
Vorausgesetzte Schritte
-
Suchen Sie nach Stores und Entitäten, für die die neue Inkrement-ID geändert werden soll.
-
Verbinden Sie sich mit Ihrer MySQL-DB.
Für Adobe Commerce in der Cloud-Infrastruktur müssen Sie zunächst eine Verbindung mit Ihrer Umgebung über SSH herstellen. -
Überprüfen Sie den aktuellen
auto_increment
für die Entitätssequenztabelle mithilfe der folgenden Abfrage:SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
Wenn Sie eine automatische Inkrementierung für eine Bestellung im Store mit der ID=1 überprüfen, wäre der Tabellenname „sequence_order_1“.
Wenn der Wert der auto_increment
Spalte „1234“ ist, hat die nächste Bestellung im Store mit ID=1
die ID "#100001234“.
Entität aktualisieren, um Inkrement-ID zu ändern
Aktualisieren Sie die Entität mithilfe der folgenden Abfrage:
ALTER TABLE sequence_{entity_type}_{store_id} AUTO_INCREMENT = {new_increment_value};
Nach dem Ausführen der folgenden Abfrage:
ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;
Die nächste Bestellung, die mit ID=1
im Geschäft aufgegeben wird, hat die ID "#100002000“.
Zusätzliche empfohlene Schritte für Cloud-Produktionsumgebungen
Bevor Sie die ALTER TABLE
Abfrage in einer Produktionsumgebung von Adobe Commerce in der Cloud-Infrastruktur ausführen, empfehlen wir dringend die folgenden Schritte:
- Testen des gesamten Verfahrens zur Änderung der Inkrement-ID in der Staging-Umgebung
- Erstellen eines DB-Backups, um die Produktions-DB bei einem Fehler wiederherzustellen
[Beliebige unterstützte Version]