Error MYSQL En proceso de instalación
danielozano opened this issue · 4 comments
Hola buenas tardes.
Estamos actualizando vuestra extensión en entorno de desarrollo, y me gustaría reportar varios errores que hemos obtenido.
El primero es que nosotros utilizamos un prefix para el nombre de las tablas, y el módulo creaba la tabla sin dicho prefijo, por lo que hemos modificado la línea 16 del script de instalación:
$table = $installer->getConnection()->newTable($installer->getTable('devopen_notification'))
Aún así recibimos la siguiente excepción:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read = '0')' at line 1, query was: SELECT main_table
.* FROM mg_devopen_notification
AS main_table
WHERE (read = '0')
Al ver la query que está ejecutandose: SELECT main_table
.* FROM mg_devopen_notification
AS main_table
WHERE (read = '0')
La query por cualquier motivo es incorrecta ya que read, en nuestro caso debería ser read
:
SELECT main_table
.* FROM mg_devopen_notification
AS main_table
WHERE (read
= '0')
Hemos localizado que dicha query se ejecuta en:
app\code\community\Devopensource\Notification\Block\Adminhtml\Notifications.php
Hemos modificado la línea 17 con el siguiente contenido:
->addFieldToFilter('read
', 0)
Este último comportamiento me resulta bastante raro. Si tenéis alguna solución espero que esta información os sirva, o quizás simplemente sea cosa de mi entorno de desarrollo.
Muchas gracias,
un saludo.
El prefijo de la tabla ya esta arreglado en cuanto al otro problema no he conseguido replicarlo
Hola,
Me está pasando exactamente lo mismo.
El error es porque "El nombre de columna «read» es una palabra clave reservada de MySQL." entonces al ejecutar la consulta da error.
Es la primera vez que instalo un magento utilizando un prefix para las tablas de bbdd. ¿como se arregla para que en el script de instalación de la extensión cree las tablas utilizando el prefix utilizado? ¿o hay que ponerlo a mano?
he modificado el nombre de la columna read por is_read y lo del prefijo de la tabla ya estaba arreglado