De increment ID van een DB-entiteit wijzigen (order, factuur, creditnota, enz.) in een bepaald archief
In dit artikel wordt besproken hoe u de increment-id voor een Adobe Commerce Database-entiteit (DB) (bestelling, factuur, creditmemo, enz.) kunt wijzigen in een bepaalde Adobe Commerce-winkel met de SQL-instructie ALTER TABLE
.
Betrokken versies
- Adobe Commerce op locatie: 2.x.x
- Adobe Commerce op cloud-infrastructuur: 2.x.x
- MySQL: om het even welke gesteunde versie
Wanneer moet u de increment-id (gevallen) wijzigen
In de volgende gevallen moet u mogelijk de increment-id wijzigen voor nieuwe DB-entiteiten:
- Na een harde back-up herstellen op een live site
- Sommige transactiebestanden zijn verloren gegaan, maar hun id's worden al gebruikt door betalingsgateways (zoals PayPal) voor uw huidige Merchant-account. In dat geval verwerken de betaalgateways geen nieuwe orders met dezelfde id en wordt de fout ''Dubbele factuur-id'' geretourneerd
Vereiste stappen
- Zoek opslagruimten en entiteiten waarvoor de nieuwe verhogings-id moet worden gewijzigd.
- verbindmet uw OB MySQL. Voor Adobe Commerce op wolkeninfrastructuur, eerst, moet u SSH aan uw milieu.
- Controleer de huidige auto_increment waarde voor de lijst van de entiteitopeenvolging gebruikend de volgende vraag:
SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
Voorbeeld
Als u een auto-verhoging voor een orde op de opslag met ID=1 controleert, zou de lijstnaam zijn:
'sequence_order_1'
Als de waarde van de auto_increment
kolom 1234 is, zal de volgende orde die bij de opslag met wordt geplaatst ID=1 identiteitskaart #100001234 hebben.
Gerelateerde documentatie
- Opstelling een verre MySQL gegevensbestandverbindingin onze ontwikkelaarsdocumentatie.
Entiteit bijwerken om increment-id te wijzigen
Werk de entiteit bij met behulp van de volgende query:
ALTER TABLE sequence_{entity_type}_{store_id} AUTO_INCREMENT = {new_increment_value};
Voorbeeld
Na het uitvoeren van de volgende query:
ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;
de volgende orde die bij de opslag met wordt geplaatst ID=1 zal identiteitskaart #100002000 hebben.
Aanvullende aanbevolen stappen voor productieomgeving (Cloud)
Voordat we de ALTER TABLE
-query op de Production-omgeving van Adobe Commerce op cloudinfrastructuur uitvoeren, raden we u ten zeerste aan deze stappen uit te voeren:
- Test de volledige procedure om verhogingsidentiteitskaart op uw milieu van het Staging te veranderen
- creeereen steun van DB om uw productieOB in het geval van mislukking te herstellen
Gerelateerde documentatie
- creeer gegevensbestandstortplaats op Wolkin onze basis van de steunkennis.
- SSH aan uw milieuin onze ontwikkelaarsdocumentatie.