Hace poco tiempo,
miré por encima como funcionaba
south, pero no lo había usado hasta ahora. Simplemente había traducido y resumido el tutorial oficial para hacer un mini tutorial, pero sin incluirlo en ningún proyecto.
Ahora se ha añadido al proyecto sobre el que estoy trabajando el módulo
south y por lo tanto tenía que añadir las migraciones correspondientes a la base de datos de mi ordenador de desarrollo.
No he sido capaz de añadir
south sin borrar los datos que había previamente en las tablas. Me imagino que se podrá, pero como no me ha salido a la primera y los datos que tenía, eran de prueba, simplemente me he cargado las tablas de la base de datos.
El orden que he seguido es el siguiente:
Borrar las tablas de la base de datos se las aplicaciones que vaya a gestionar South.
Eliminar las aplicaciones de INSTALLED_APPS.
Sincronizar la base de datos.
Añadimos de nuevo las aplicaciones a INSTALLED_APPS.
Creamos la primera migración de las aplicaciones que vaya a gestionar South.
python manage.py schemamigration app_name –-initial
Donde
app_name es el nombre de la aplicación que gestiona South. Hay que repetir este proceso para cada aplicación que gestionemos con South.
Ahora aplicamos la migración.
python manage.py migrate app_name
A partir de este momento, cada vez que se realice un cambio en los modelos, es necesario crear una nueva migración con:
manage.py schemamigration app_name –-auto
Para aplicar los cambios realizados hay que volver a usar:
python manage.py migrate app_name