Ä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
- Sök efter butiker och enheter som det nya tilläggs-ID:t ska ändras för.
- Anslut till din MySQL-databas. För Adobe Commerce i molninfrastruktur måste du först SSH till din miljö.
- 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
- Konfigurera en MySQL-fjärrdatabasanslutning i utvecklardokumentationen.
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
- Skapa databasdump i Cloud i vår kunskapsbas för support
- SSH till din miljö i utvecklardokumentationen
- Metodtips för att ändra databastabeller i Commerce Implementeringspellbook
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a