Cambia ID incremento
In questo articolo viene illustrato come modificare l'ID incremento per un'entità database (DB) di Commerce (ordine, fattura, nota di accredito e così via) in un particolare archivio Commerce utilizzando l'istruzione SQL ALTER TABLE.
Versioni interessate
- Adobe Commerce (locale): 2.x.x
- Adobe Commerce sull’infrastruttura cloud: 2.x.x
- MySQL: qualsiasi versione supportata
Quando modificare l'ID incremento
Potrebbe essere necessario modificare l'ID incremento per le nuove entità DB nei seguenti casi:
- Dopo il ripristino di un backup rigido su un sito live
- Alcuni record degli ordini sono stati persi, ma i loro ID sono già utilizzati dai gateway di pagamento (come PayPal) per il tuo account esercente corrente. In questo caso, i gateway di pagamento interrompono l'elaborazione di nuovi ordini con gli stessi ID, restituendo l'errore "ID fattura duplicato"
Passaggi preliminari
-
Trova archivi ed entità per i quali modificare il nuovo ID incremento.
-
Connettersi al database MySQL.
Per l’infrastruttura cloud di Adobe Commerce, all’inizio è necessario connettersi all’ambiente utilizzando SSH. -
Controllare il valore
auto_incrementcorrente per la tabella di sequenza delle entità utilizzando la query seguente:code language-sql SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
Se si sta controllando un incremento automatico per un ordine nel punto vendita con ID=1, il nome della tabella sarà 'sequence_order_1'.
Se il valore della colonna auto_increment è '1234', l'ordine successivo effettuato presso l'archivio con ID=1 avrà l'ID '#100001234'.
Aggiorna entità per modificare l'ID incremento
Aggiorna l’entità utilizzando la seguente query:
ALTER TABLE sequence_{entity_type}_{store_id} AUTO_INCREMENT = {new_increment_value};
Dopo l’esecuzione della seguente query:
ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;
L'ordine successivo effettuato con ID=1 avrà l'ID '#100002000'.
Passaggi consigliati aggiuntivi per gli ambienti di produzione cloud
Prima di eseguire la query ALTER TABLE in un ambiente di produzione di Adobe Commerce su un'infrastruttura cloud, si consiglia vivamente di eseguire i passaggi seguenti:
- Test dell'intera procedura di modifica dell'ID di incremento nell'ambiente di staging
- [Crea un backup del database] per ripristinare il database di produzione in caso di errore
[qualsiasi versione supportata]