Magento 2, когда размещаете заказ из недавно созданного магазина, после нажатия на кнопку «разместить заказ» под ошибкой отображается,
Синтаксическая ошибка или нарушение прав доступа: 1103 Неверное имя таблицы '', запрос был: INSERT INTO `` () VALUES ()
И остановите оформление заказа.
Ответы:
если вы создали свой магазин программно, вы должны отправить событие
add_store
сstore model
параметром in.Если вы посмотрите
\Magento\SalesSequence\Observer\SequenceCreatorObserver
, этот наблюдатель вызван дляadd_store
событияОн вставит в
sales_sequence_meta
таблицу некоторые данные, связанные с вашим магазиномисточник
эта проблема возникает, когда вы пытаетесь вставить новую строку в таблицу отношений для автоматической генерации последовательности. Чтобы решить эту проблему, см. таблицу «sales_sequence_meta» с «entity_type» = «заказ», проверьте и убедитесь, что этот entity_type = «заказ» существует во всех ваших магазинах. Вставьте новый, если вы проверите его для любого идентификатора магазина.
1 | заказать | 0 | sequence_order_0
источник
При различных обстоятельствах Magento не создает таблицы последовательности продаж для магазина. Это таблицы, в которых создаются идентификаторы приращения заказа, идентификаторы приращения отгрузки и т. Д. Таким образом, при попытке присвоить ID приращения новому заказу происходит сбой. Примеры таблиц:
Вот модуль для команды CLI Magento, который создаст отсутствующие таблицы последовательности продаж для данного магазина: https://github.com/joeshelton-wagento/fixsalessequence
источник
Выше ошибка возникает, когда отсутствуют таблицы для нескольких магазинов. Основная причина проблемы заключается в том, что миграция выполняется с использованием любого стороннего расширения, не выполняемого инструментом переноса данных.
ПРИМЕЧАНИЕ : Пожалуйста, сделайте резервную копию базы данных, прежде чем применять какие-либо изменения!
Вы заметите, что следующие таблицы могут отсутствовать:
Предположение : магазин 1, магазин 2 работают нормально, если магазин 3 не работает должным образом.
Если хранилище 3 не работает должным образом, необходимо создать следующие таблицы:
sequence_creditmemo_3 sequence_invoice_3 sequence_order_3 sequence_shipment_3
ПРИМЕЧАНИЕ. Вы можете получить структуру этих таблиц из других существующих таблиц, таких как sequence_creditmemo_1, sequence_invoice_1, sequence_order_1, sequence_shipment_1
ПРИМЕЧАНИЕ . Необходимо изменить идентификатор магазина в названии таблицы.
Следующие таблицы должны быть обновлены соответствующими записями таблицы профиля последовательности:
sales_sequence_meta sales_sequence_profile
Примечание : необходимо изменить идентификатор магазина в запросах ниже.
Примечание . Измените префикс как идентификатор магазина для запроса ниже.
Пожалуйста, примените вышеуказанное решение, я надеюсь, оно поможет вам решить вашу проблему.
ПРИМЕЧАНИЕ : Пожалуйста, сделайте резервную копию базы данных, прежде чем делать какие-либо изменения!
источник
Я думаю, что Magento 2 установлен неправильно. Поэтому, если возможно, попытайтесь переустановить последнюю обновленную версию, а после этого прежде всего очистите кэш и выполните индексацию. Это работает должным образом из моей настройки.
источник
Я отлаживаю проблему. В моем случае это был неполный процесс при создании магазина из-за большого объема данных. Я обнаружил, что запись отсутствует в таблице «sales_sequence_meta» для этого магазина. Я попытался, добавив его вручную и смог успешно разместить заказ.
Проверьте запись для соответствующего магазина.
источник