Mostrando entradas con la etiqueta south. Mostrar todas las entradas
Mostrando entradas con la etiqueta south. Mostrar todas las entradas

viernes, 20 de julio de 2012

South: 'assertsynced' para asegurar que todas las migraciones están aplicadas

El uso de South con aplicaciones Django es un estándar en los desarrollos en los que participo. Pero hace tiempo me surgió la necesidad de saber si hay migraciones sin aplicar.

Es fácil conocer 'visualmente' la situación, pero el problema es cuando hace falta saberlo desde un script. Por ejemplo: al momento de realizar deploys, y en los scripts de arranque de los sistemas.

Sobre todo en este último caso, la aplicación no debería iniciarse si hay migraciones pendientes de aplicar. Finalmente me tomé un tiempo y cree assertsynced. Este es un comando de Django, basado en la implementación de migrate de South.

Está disponible aquí.

miércoles, 19 de octubre de 2011

Cómo resetear South

Podemos resetear South desinstalándolo y volviéndolo a instalar. Atención: esto hará que se pierdan todas las migraciones existentes, y los datos de las BD de las aplicaciones que se quieran resetear. Los pasos a seguir son:

1) eliminar de la BD las tablas de South: south_migrationhistory.
2) eliminar de la BD las tablas de las aplicaciones administradas por south.
3) eliminar el paquete migrations de las aplicaciones que usen South.
4) ejecutar syncdb.
5) volver a marcar las aplicaciones que deben ser administradas usando South, ejecutando: "manage.py convert_to_south APP"