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 die de ALTER TABLE SQL-instructie.

Betrokken versies

  • Adobe Commerce op locatie: 2.x.x
  • Adobe Commerce op cloud-infrastructuur: 2.x.x
  • MySQL: alle ondersteunde 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 afgewezen aanvraag - dubbele factuurkwestie in onze kennisbasis voor ondersteuning.

Vereiste stappen

  1. Zoek opslagruimten en entiteiten waarvoor de nieuwe verhogings-id moet worden gewijzigd.
  2. Verbinden naar uw MySQL-database. Voor Adobe Commerce op cloudinfrastructuur moet u SSH voor uw omgeving.
  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 automatische verhoging voor een orde in de opslag controleert met ID=1 De tabelnaam zou dan als volgt zijn:

'sequence_order_1'

Als de waarde van de auto_increment column is 1234, de volgende volgorde die bij de winkel wordt geplaatst ID=1 de ID #100001234.

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 volgorde die bij de winkel wordt geplaatst ID=1 de ID #100002000.

Aanvullende aanbevolen stappen voor productieomgeving (Cloud)

Voordat u het dialoogvenster ALTER TABLE We raden u ten zeerste aan om de volgende stappen uit te voeren in de Productie-omgeving van Adobe Commerce op het gebied van cloudinfrastructuur:

  • Test de volledige procedure om verhogingsidentiteitskaart op uw milieu van het Staging te veranderen
  • Maken een DB-back-up om de productiedatabase te herstellen in geval van een storing

Gerelateerde documentatie

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