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 ALTER TABLE Istruzione SQL.

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"
NOTE
Puoi anche risolvere il problema del gateway di pagamento per PayPal consentendo più pagamenti per ID fattura nelle Preferenze di ricezione pagamento di PayPal. Consulta Richiesta rifiutata gateway PayPal - problema fattura duplicata nella nostra knowledge base di supporto.

Passaggi preliminari

  1. Trova archivi ed entità per i quali modificare il nuovo ID incremento.
  2. Connetti nel database MySQL. Per l’infrastruttura cloud di Adobe Commerce, all’inizio è necessario: SSH per l’ambiente.
  3. 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 sullo store con ID=1, il nome della tabella sarà:

'sequence_order_1'

Se il valore di auto_increment la colonna è 1234, l’ordine successivo effettuato nel negozio con ID=1 avrà il ID #100001234.

Documentazione correlata

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};
WARNING
Importante: il nuovo valore di incremento deve essere maggiore di quello corrente, non minore.

Esempio

Dopo l’esecuzione della seguente query:

ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;

l’ordine successivo effettuato al negozio con ID=1 avrà il ID #100002000.

Passaggi aggiuntivi consigliati per l’ambiente di produzione (Cloud)

Prima di eseguire ALTER TABLE nell’ambiente di produzione di Adobe Commerce sull’infrastruttura cloud, si consiglia vivamente di eseguire i seguenti passaggi:

  • Test dell'intera procedura di modifica dell'ID incremento nell'ambiente di staging
  • Crea un backup DB per ripristinare il database di produzione in caso di errore

Documentazione correlata

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