Resolver erro de tabela customer_grid_flat ausente no Adobe Commerce
O erro de ausência da tabela customer_grid_flat no Adobe Commerce 2.4.5 ocorre ao sobrepor processos de reindexação, tanto para excluir quanto para recriar a tabela customer_grid simultaneamente, causando falhas de SQLSTATE[ 42S02]. Para resolver isso, verifique os logs de ação do administrador quanto a conflitos de processos, evite a reindexação manual durante a execução do cron, redefina o indexador usando bin/magento indexer:reset customer_grid e monitore as agendas de trabalho do cron para evitar sobreposições futuras.
Descrição description
Ambiente
- Produto: Adobe Commerce, v2.4.5
- Instância: Produção
Problema/Sintomas
- A tabela
customer_grid_flatestá ausente do banco de dados. - Erros como SQLSTATE
[42S02]: Tabela ou exibição base não encontrada: 1146 A tabela 'z3gmkbwmwrl4g.customer_grid_flat' não existe aparece.
Causa
O problema ocorre porque quando o indexador completo do customer_grid é executado, ele remove e recria a tabela customer_grid para ajustar as colunas e, em seguida, insere dados. Se uma reindexação manual e o trabalho do cron indexer_reindex_all_invalid forem executados ao mesmo tempo, um processo excluirá a tabela customer_grid, enquanto outro processo tentará inserir dados nela. Esta sobreposição leva a SQLSTATE[ 42S02] : Tabela ou exibição base não encontrada: 1146 A tabela 'z3gmkbwmwrl4g.customer_grid_flat' não existe erros.
Resolução resolution
Restaure a tabela executando uma reindexação completa. Para solucionar e evitar esse problema, siga estas etapas:
- Verifique se a operação de reindexação manual (
bin/magento indexer:reindex customer_grid) se sobrepôs à execução do trabalho cronindexer_reindex_all_invalid, verificando os logs de ação do administrador. - Não execute
bin/magento indexer:reindex customer_gridenquanto oindexer_reindex_all_invalid cronestiver em execução. Se uma reindexação completa for necessária, usebin/magento indexer:reset customer_grid. O cronindexer_reindex_all_invalidlidará com a reindexação completa como um processo em segundo plano, recriando e preenchendo tabelas automaticamente sem conflitos. - Use ferramentas de monitoramento para rastrear quando trabalhos críticos do cron como
indexer_reindex_all_invalidestão em execução para evitar o agendamento de tarefas sobrepostas.