Tabla de base de datos CakePHP, falta el origen de datos por defecto
encontréesta Pregunta similar pero mi problema es diferente.
Moví mi aplicación CakePHP 2.2 a otro servidor. No existe ningún problema antes de la migración. La mayoría de las cosas funcionan bien después de la migración. Puedo acceder a la mayoría de las tablas de mi base de datos, etc. Pero cuando intento llegar a una de mis tablas, aparece este error:
"Error 500: Table stats for model Stat was not found in datasource default."
Para resolver esto, revisé esta carpeta: "/ app / tmp / cache / models"
En esa carpeta hay un archivo para cada una de mis tablas.
myapp_cake_model_default_mydatabase_table1myapp_cake_model_default_mydatabase_table2myapp_cake_model_default_mydatabase_table3 etc.Pero no hay ningún archivo para la tabla de estadísticas. ¿Puede ser el problema? O como puedo solucionar esto?
(El permiso para la carpeta "/ app / tmp / cache / models" es 755)
EnBase de datos.php Tengo esto:
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'myuser',
'password' => 'mypass',
'database' => 'mydatabase',
'prefix' => '',
'encoding' => 'utf8',
);
Editar:
Como señalé en los comentarios de la respuesta de thaJeztah, después de eliminar todos los archivos que conteníaapp/tmp/cache/persistent
problema resuelto. CakePHP creó nuevos archivos de caché de modelo y funcionó. Después de un año descubrí el verdadero problema. El problema fue establecer la duración clara de los archivos de modelo de pastel. Configuré el borrado de la memoria caché en +999 días, por lo que los archivos de modelo no se regeneran. Mientras realiza cambios en el modelo, puede establecer valores más bajos para borrar el caché del modelo:
Cache::config('_cake_model_', array(
'engine' => "File",
'prefix' => "myapp_". 'cake_model_',
'path' => CACHE . 'models' . DS,
'serialize' => ($engine === 'File'),
'duration' => "+999 days"
));