Alterar ID de incremento
Este artigo discute como alterar a ID de incremento de uma entidade de banco de dados (BD) do Commerce (pedido, fatura, memorando de crédito etc.) em um Commerce Store 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?
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-se ao banco de dados MySQL.
Para o Adobe Commerce na infraestrutura em nuvem, no início, é necessário se conectar usando SSH ao seu ambiente. -
Verifique o valor
auto_increment
atual para a tabela de sequência de entidade usando a seguinte consulta:code language-sql SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
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'.
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};
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 ambientes de produção em nuvem
Antes de executar a consulta ALTER TABLE
em um 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
[qualquer versão com suporte]