[Endast PaaS]{class="badge informative" title="Gäller endast Adobe Commerce i molnprojekt (Adobe-hanterad PaaS-infrastruktur) och lokala projekt."}

Ändra öknings-ID

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

Berörda versioner

När behöver du ändra ID för ökning

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"
INFO
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-gateway avvisade begäran - dubblettfakturaproblem i kunskapsbasen.

Krav på steg

  1. Sök efter butiker och enheter som det nya tilläggs-ID:t ska ändras för.

  2. Anslut till MySQL-databasen.
    För Adobe Commerce i molninfrastruktur måste du först ansluta med SSH till din miljö.

  3. Kontrollera det aktuella auto_increment-värdet för entitetssekvenstabellen med följande fråga:

    code language-sql
    SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
    

Om du kontrollerar ett automatiskt tillägg för en order i butiken med ID=1 är tabellnamnet sekvensorder_1.

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

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};
INFO
Viktigt: Det nya ökningsvärdet måste vara större än det aktuella.

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:t #100002000.

Ytterligare rekommenderade steg i molnproduktionsmiljöer

Innan vi kör ALTER TABLE-frågan på en produktionsmiljö i Adobe Commerce 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 för att återställa din Production DB om fel uppstår

[alla versioner som stöds]

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c