Magento 2 quando o pedido é feito na loja recém-criada, depois de clicar no botão de pedido no local abaixo do erro é exibido,
Erro de sintaxe ou violação de acesso: 1103 Nome da tabela incorreto '', a consulta foi: INSERT INTO `` () VALUES ()
E interrompa a funcionalidade do pedido de lugar.
Respostas:
se você criou sua loja programaticamente, você deve despachar um evento
add_store
com o seustore model
parâmetro in.Se você olhar
\Magento\SalesSequence\Observer\SequenceCreatorObserver
, este observador é chamado para oadd_store
eventoEle irá inserir alguns dados relacionados à sua loja na
sales_sequence_meta
tabelafonte
esse problema ocorre quando você tenta inserir uma nova linha em uma remessa de relação de tabela para gerar automaticamente a sequência. Para resolver esses problemas, consulte a tabela "sales_sequence_meta" com "entity_type" = "order", verifique e verifique se este entity_type = "order" existe em todas as suas lojas. Insira um novo se você verificar se não encontrou nenhum ID de loja.
1 | encomendar | 0 sequence_order_0
fonte
Em várias circunstâncias, o Magento não cria tabelas de sequência de vendas para uma loja. São tabelas em que são criados IDs de incremento de pedido, IDs de incremento de remessa, etc. Portanto, o checkout falha ao tentar atribuir um ID de incremento a um novo pedido. Tabelas de exemplo:
Aqui está um módulo para um comando da CLI do Magento que criará tabelas de sequência de vendas ausentes para uma determinada loja: https://github.com/joeshelton-wagento/fixsalessequence
fonte
O erro acima ocorre quando há tabelas ausentes para vários repositórios. O principal motivo por trás do problema é quando a migração é feita usando qualquer extensão de terceiros não realizada pela ferramenta de migração de dados.
NOTA : Faça um backup do banco de dados antes de aplicar quaisquer alterações!
Você notará que as tabelas a seguir podem estar ausentes:
Suposição : a loja 1, a loja 2 estão funcionando bem, se a loja 3 não estiver funcionando corretamente.
Se a loja 3 não estiver funcionando corretamente, é necessário criar essas tabelas:
sequence_creditmemo_3 sequence_invoice_3 sequence_order_3 sequence_shipment_3
NOTA: Você pode obter a estrutura dessas tabelas a partir de outras tabelas existentes, como sequence_creditmemo_1, sequence_invoice_1, sequence_order_1, sequence_shipment_1
NOTA : É necessário alterar o ID da loja no nome da tabela.
As tabelas a seguir precisam ser atualizadas com as entradas correspondentes da tabela de perfil de sequência:
sales_sequence_meta sales_sequence_profile
Nota : É necessário alterar o ID da loja nas consultas abaixo.
Nota : Altere o prefixo como o ID da loja para a consulta abaixo.
Aplique a solução acima, espero que ajude você a resolver seu problema.
NOTA : Faça backup do banco de dados antes de fazer alterações!
fonte
Eu acho que o Magento 2 não está instalado corretamente. Portanto, se possível, tente reinstalar a versão atualizada mais recente e, depois disso, limpe o cache e faça a indexação. Está funcionando corretamente da minha instalação.
fonte
Eu depuro o problema. Para o meu caso, ocorreu um processo incompleto durante a criação da loja devido a dados pesados. Achei que falta uma entrada na tabela 'sales_sequence_meta' dessa loja. Tentei adicioná-lo manualmente e capaz de fazer pedidos com sucesso.
Verifique a entrada da loja relevante.
fonte