2012-01-05 5 views
11

He tenido un problema con un módulo personalizado de Magento que he creado.El modelo personalizado de Magento no permitirá cambios en la tabla DB.

En resumen, creé un módulo simple para cargas de clientes en el front-end. Creé una nueva tabla con algunos campos genéricos como 'project_id', 'title', etc. Todo está bien ... Puedo establecer variables de modelo y guardarlas en mi tabla usando model-> save() ;.

Ahora tengo la necesidad de agregar un nuevo campo o cambiar el nombre de un campo viejo. Por una razón que no puedo entender, campos nuevos y campos modificados no se guardarán mediante model-> save(); aunque puedo ver desde mi depurador que las variables nuevas y modificadas en mi modelo se están configurando correctamente. Espero que alguien se haya topado con esto y pueda arrojar algo de luz sobre este tema extremadamente frustrante. ¡Mi proyecto está parado hasta que llegue la ayuda!

Respuesta

20

Borre su caché. Las clases de Zend que Magento usa para leer las columnas de la base de datos guardará en caché esa información (de manera que no es necesario hacer un DESCRIBE para cada carga/guardado del modelo). Limpie su caché y Magento debería ver las nuevas columnas, y los valores comenzarán a persistir en la base de datos.

+0

Todos los cachés se han desactivado desde el inicio del proyecto, sin embargo, esto funciona! Es lo último que habría pensado comprobar, ya que permanecieron inhabilitados durante la producción. ¿Por qué sucedería eso? –

+1

Todas las memorias caché ** Magento ** se han deshabilitado. Nunca investigué demasiado profundamente, supongo que es un tipo de almacenamiento en caché en el marco de Zend, probablemente a través del objeto de registro. Los cachés de Magento que habilitas/deshabilitas son para las claves establecidas a través de la clase de almacenamiento en caché de Magento. Como las clases Zend DB hacen algo de almacenamiento en caché, esto se pierde. Chalk it a otra instancia de Magento es Not Zend. –

+0

Esa respuesta me funciona. ¡Gracias por la ayuda! Estoy seguro de que habrá muchas más consultas ... –

3

Desactivar el caché en el panel de administración de Magento parece no ser suficiente. Debe eliminar los contenidos de/var/cache manualmente.

0

Run rm -rf var/cache/* desde la consola, ya que no será capaz de obtener a través de la pantalla de gestión de administración de caché

Cuestiones relacionadas