Alterar ID de incremento de uma entidade do BD (pedido, fatura, aviso de crédito etc.) em uma loja específica
Este artigo discute como alterar a ID de incremento de uma entidade de banco de dados (BD) do Adobe Commerce (pedido, fatura, aviso de crédito etc.) em um repositório Adobe Commerce específico usando a instrução SQL ALTER TABLE
.
Versões afetadas
- Adobe Commerce no local: 2.x.x
- Infraestrutura do Adobe Commerce na nuvem: 2.x.x
- MySQL: qualquer versão com suporte
Quando você precisaria alterar a ID de incremento (ocorrências)
Talvez seja necessário alterar a ID de incremento para novas entidades de BD nestes casos:
- Após uma restauração de backup rígido em um site ativo
- Alguns registros de pedidos foram perdidos, mas suas IDs já estão sendo usadas por gateways de pagamento (como PayPal) para sua conta de Comerciante atual. Sendo assim, os gateways de pagamento param de processar novos pedidos que têm as mesmas IDs, retornando o erro "ID de fatura duplicada"
Etapas de pré-requisito
- Localize lojas e entidades para as quais a nova ID de incremento deve ser alterada.
- Conecte ao seu BD MySQL. Para o Adobe Commerce na infraestrutura em nuvem, no início, é necessário SSH para o seu ambiente.
- Verifique o valor de auto_increment atual para a tabela de sequência de entidade usando a seguinte query:
SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
Exemplo
Se você estiver verificando um incremento automático para um pedido no armazenamento com ID=1, o nome da tabela será:
'sequence_order_1'
Se o valor da coluna auto_increment
for 1234, a próxima ordem colocada no armazenamento com ID=1 terá a ID #100001234.
Documentação relacionada
- Configure uma conexão remota com o banco de dados MySQL na documentação do desenvolvedor.
Atualizar entidade para alterar ID de incremento
Atualize a entidade usando a seguinte consulta:
ALTER TABLE sequence_{entity_type}_{store_id} AUTO_INCREMENT = {new_increment_value};
Exemplo
Após executar a seguinte query:
ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;
o próximo pedido feito na loja com ID=1 terá a ID #100002000.
Etapas adicionais recomendadas para o ambiente de produção (Nuvem)
Antes de executar a consulta ALTER TABLE
no ambiente de Produção do Adobe Commerce na infraestrutura em nuvem, é altamente recomendável executar estas etapas:
- Teste todo o procedimento de alteração da ID de incremento no ambiente de preparo
- Crie um backup de BD para restaurar seu BD de Produção em caso de falha
Documentação relacionada
- Criar despejo de banco de dados na Nuvem em nossa base de dados de conhecimento de suporte.
- SSH para o seu ambiente na documentação do desenvolvedor.