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
NOTE
U kunt het probleem met de betaalgateway voor PayPal ook verhelpen door meerdere betalingen per factuur-ID toe te staan in de voorkeuren voor betalingsontvangst van PayPal. Zie PayPal gateway verworpen verzoek - dubbele factuurkwestiein onze basis van de steunkennis.

Vereiste stappen

  1. Zoek opslagruimten en entiteiten waarvoor de nieuwe verhogings-id moet worden gewijzigd.
  2. verbindmet uw OB MySQL. Voor Adobe Commerce op wolkeninfrastructuur, eerst, moet u SSH aan uw milieu.
  3. 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

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};
WARNING
Belangrijk: de nieuwe verhogingswaarde moet groter zijn dan de huidige, niet minder!

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

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a