Magento 2 cuando realiza un pedido desde una tienda recién creada, después de hacer clic en el botón de realizar pedido debajo del error, se muestra,
Error de sintaxis o infracción de acceso: 1103 Nombre de tabla incorrecto '', la consulta fue: INSERTAR EN `` () VALUES ()
Y detener la funcionalidad de orden de lugar.
Respuestas:
Si ha creado su tienda mediante programación, debe enviar un evento
add_store
con sustore model
parámetro in.Si miras
\Magento\SalesSequence\Observer\SequenceCreatorObserver
, se llama a este observador para eladd_store
eventoInsertará algunos datos relacionados con su tienda en la
sales_sequence_meta
tablafuente
Estos problemas se obtienen cuando intenta insertar una nueva fila en una relación de tabla para generar automáticamente la secuencia. Para resolver estos problemas, consulte la tabla "sales_sequence_meta" con "entity_type" = "order", verifique y asegúrese de que este entity_type = "order" exista en todas sus tiendas. Inserte uno nuevo si marca que no se encontró ninguna identificación de la tienda.
1 | orden | 0 | secuencia_orden_0
fuente
En varias circunstancias, Magento no crea tablas de secuencia de ventas para una tienda. Estas son tablas donde se crean ID de incremento de pedido, ID de incremento de envío, etc. Por lo tanto, el pago falla al intentar asignar una ID de incremento a un nuevo pedido. Tablas de ejemplo:
Aquí hay un módulo para un comando de Magento CLI que creará tablas de secuencia de ventas faltantes para una tienda determinada: https://github.com/joeshelton-wagento/fixsalessequence
fuente
El error anterior se produce cuando faltan tablas para varias tiendas. La razón principal detrás del problema es cuando la migración se realiza mediante una extensión de terceros que no se realiza con la herramienta de migración de datos.
NOTA : ¡Haga una copia de seguridad de la base de datos antes de aplicar cualquier cambio!
Notará que pueden faltar las siguientes tablas:
Supuesto : la tienda 1, la tienda 2 funcionan bien, si la tienda 3 no funciona correctamente.
Si la tienda 3 no funciona correctamente, entonces se deben crear estas tablas:
secuencia_crédito_3 secuencia_factura_3 secuencia_orden_3 secuencia_envío_3
NOTA: Puede obtener la estructura de estas tablas de otras tablas existentes como secuencia_creditmemo_1, secuencia_factura_1, secuencia_orden_1, secuencia_envío_1
NOTA : es necesario cambiar la identificación de la tienda en el nombre de la tabla.
Las siguientes tablas deben actualizarse con las correspondientes entradas de la tabla de perfil de secuencia:
sales_sequence_meta sales_sequence_profile
Nota : es necesario cambiar la identificación de la tienda en las consultas a continuación.
Nota : Cambie el prefijo como ID de tienda para la consulta a continuación.
Aplique la solución anterior, espero que le ayude a resolver su problema.
NOTA : ¡Haga una copia de seguridad de la base de datos antes de hacer cualquier cambio!
fuente
Creo que Magento 2 no está instalado correctamente. Por lo tanto, si es posible, intente reinstalar la última versión actualizada y, después de eso, borre primero la caché y la indexación. Funciona correctamente desde mi configuración.
fuente
Yo depuro el problema. Para mi caso, se debió a un proceso incompleto durante la creación de la tienda debido a la gran cantidad de datos. Encontré una entrada que falta en la tabla 'sales_sequence_meta' para esa tienda. Lo intenté agregándolo manualmente y pude realizar el pedido con éxito.
Verifique la entrada de la tienda correspondiente.
fuente