Modifica ID incremento per un'entità DB (ordine, fattura, nota di accredito, ecc.) in un particolare negozio
Questo articolo illustra come modificare l'ID incremento per un'entità database di Adobe Commerce (DB) (ordine, fattura, nota di accredito, ecc.) in un particolare archivio Adobe Commerce utilizzando l'istruzione SQL ALTER TABLE
.
Versioni interessate
- Adobe Commerce on-premise: 2.x.x
- Adobe Commerce sull’infrastruttura cloud: 2.x.x
- MySQL: qualsiasi versione supportata
Quando è necessario modificare l’ID incremento (casi)
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 lo stesso ID, restituendo l'errore "ID fattura duplicato"
Passaggi preliminari
- Trova archivi ed entità per i quali modificare il nuovo ID incremento.
- Connetti al database MySQL. Per Adobe Commerce su infrastruttura cloud, devi prima SSH nell'ambiente.
- Controllare il valore corrente di auto_increment per la tabella di sequenza entità utilizzando la seguente query:
SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
Esempio
Se stai controllando un incremento automatico per un ordine nell'archivio con ID=1, il nome della tabella sarà:
'sequence_order_1'
Se il valore della colonna auto_increment
è 1234, il ID #100001234 verrà inserito nell'ordine successivo con ID=1.
Documentazione correlata
- Configurare una connessione remota al database MySQL nella documentazione per gli sviluppatori.
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};
Esempio
Dopo l’esecuzione della seguente query:
ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;
il ID #100002000 verrà emesso per il prossimo ordine con ID=1.
Passaggi aggiuntivi consigliati per l’ambiente di produzione (Cloud)
Prima di eseguire la query ALTER TABLE
nell'ambiente di produzione di Adobe Commerce sull'infrastruttura cloud, si consiglia vivamente di eseguire i passaggi seguenti:
- Test dell'intera procedura di modifica dell'ID incremento nell'ambiente di staging
- Crea un backup del database per ripristinare il database di produzione in caso di errore
Documentazione correlata
- Crea un dump del database nel cloud nella knowledge base di supporto.
- SSH nell'ambiente nella documentazione per gli sviluppatori.