¿Cómo hace para saber cómo migrar? En el directorio databases de la webapp genera unos archivos .table donde tiene guardada la estructura actual de la base y cuando evalúa los modelos los compara contra lo que tiene generado.Y cuando te conectás a la base desde un solo host, anda bien.
El problema es cuando clonás tu repo y te conectás a la base desde otro lado. ¿Qué hacer con esos archivos? Encima, el nombre de los archivos incluye como prefijo un hash del connection string. Entonces si cambiás el password deja de encontrarlos, si cambiás el nombre del host deja de cambiarlos, etc.
¿Entonces qué se puede hacer?
- Cuando construís el DAL podés pasarle el prefijo para las tablas por parámetro en el parámetro table_hash.
- Si no querés cambiar la base, también cuando construís el DAL, podés pasarle migrate=False.
- Creo que fake_migrate=True genera los archivos pero no altera la base y puede servir para generar las cosas que hacen falta para migrar después.
- Lo ideal es que web2py mire la estructura de la base de datos y en función de eso decida si tiene que migrar o no.
- Si eso no es posible o es muy complicado, en vez de guardar archivos en un directorio debería guardar la información que necesita para hacer las migraciones de la base de datos en una tabla de la base de datos, así la información estaría en todos lados.
Happy hacking,
Aureliano.
No hay comentarios.:
Publicar un comentario