2011-11-08 14 views
5

Tengo 2 vhosts en mi servidor (dev y prod) el código en ambos es el mismo, ambos se conectan a la misma base de datos.CakePHP no obtiene todos los campos de DB?

Sin embargo, agregué una nueva columna a la tabla de la que estoy extrayendo datos y dev ve esta nueva columna, y prod no.

Sé que el código es el mismo porque ambos son clones del mismo repositorio y ambos se actualizan al último código.

Confirmé que estoy tratando con los mismos datos alterando uno de los otros valores de campo y veo el cambio en ambos lados. Sin embargo, sigo agregando nuevas columnas y dev sigue viendo todas las nuevas columnas, mientras que prod no lo hace. Prod sí ve todas las columnas que estaban allí antes de hoy.

Esto no tiene ningún sentido para mí. Siento que he tomado las medidas para demostrar que esto no debería estar sucediendo y sin embargo lo es.

¿Qué más podría ser? ¿Cuál podría ser una causa posible que he pasado por alto?

+4

¿Ha borrado las cachés de su modelo? – Farray

+2

@Farray, eso fue todo. Por favor haz una respuesta para que yo pueda aceptarlo. :) –

Respuesta

15

Son todos los directorios clonados? Si '/app/config/core.php' tiene diferentes valores de depuración, supongo que este sería su problema. Los niveles de depuración 1 & 2 actualizan cachés de modelo en cada solicitud. El nivel de depuración 0 no.

También podría forzar manualmente Cake para actualizar los modelos eliminando los modelos en caché en el directorio '/ app/tmp/cache' en la máquina de producción.

+0

+1 Lo aceptaré cuando haya transcurrido el límite de tiempo. Por cierto, tengo un código en core.php que comprueba si es el dev env o no y establece la depuración en 2 o en 0 en consecuencia. Simplemente no sabía que CakePHP almacenaba en caché la estructura de la tabla de la modelo. Vacié el archivo de caché (que no está bajo control de versión) y lo arreglé inmediatamente. –

+0

Gracias @Ferray me salvó el tiempo :) –

Cuestiones relacionadas