Ändra öknings-ID för en databasenhet (order, faktura, kreditnota osv.) på en viss butik

I den här artikeln beskrivs hur du ändrar tilläggs-ID för en Adobe Commerce-databasentitet (order, faktura, kreditnota osv.) på en viss Adobe Commerce-butik med hjälp av SQL-satsen ALTER TABLE.

Berörda versioner

  • Lokal Adobe Commerce: 2.x.x
  • Adobe Commerce i molninfrastruktur: 2.x.x
  • MySQL: any supported version

När behöver du ändra ID för ökning (fall)

Du kan behöva ändra ID:t för ökning för nya DB-entiteter i följande fall:

  • Efter en återställning av en hård säkerhetskopiering på en Live-webbplats
  • Vissa orderposter har gått förlorade, men deras ID används redan av betalningsgateways (som PayPal) för ditt aktuella Merchant-konto. Så är fallet, så upphör betalningsgatewayen att bearbeta nya order som har samma ID, vilket returnerar felet "Duplicera faktura-ID"
NOTE
Du kan också åtgärda problemet med betalningsgateway för PayPal genom att tillåta flera betalningar per faktura-ID i PayPals Inställningar för betalningsmottagning. Se PayPal-gatewayen avvisade begäran - dubblettfakturaproblem i vår kunskapsbas för support.

Krav på steg

  1. Sök efter butiker och enheter som det nya tilläggs-ID:t ska ändras för.
  2. Anslut till din MySQL-databas. För Adobe Commerce i molninfrastruktur måste du först SSH till din miljö.
  3. Kontrollera det aktuella auto_increment-värdet för entitetssekvenstabellen med följande fråga:
SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';

Exempel

Om du kontrollerar en automatisk ökning för en order i butiken med ID=1 blir tabellnamnet:

'sequence_order_1'

Om värdet för kolumnen auto_increment är 1234 får nästa ordning som placeras i butiken med ID=1 ID #100001234.

Relaterad dokumentation

Uppdatera enhet för att ändra öknings-ID

Uppdatera entiteten med följande fråga:

ALTER TABLE sequence_{entity_type}_{store_id} AUTO_INCREMENT = {new_increment_value};
WARNING
Viktigt: Det nya stegvärdet måste vara större än det aktuella, inte mindre!

Exempel

När följande fråga har körts:

ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;

nästa order som placeras i butiken med ID=1 får ID #100002000.

Ytterligare rekommenderade steg i produktionsmiljön (Cloud)

Innan vi kör ALTER TABLE-frågan i Adobe Commerce produktionsmiljö i molninfrastrukturen rekommenderar vi att du utför följande steg:

  • Testa hela proceduren för att ändra tilläggs-ID i mellanlagringsmiljön
  • Skapa en DB-säkerhetskopia som återställer din Production DB om fel uppstår

Relaterad dokumentation

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