South permite hacer evolución sobre el modelo de base de datos, esto es la envidia de miles de sistemas que no tienen esta capacidad, si se usa Django, es altamente recomendado emplearlo, a continuación las tareas más comunes, este pequeño escrito NO reemplaza el Tutorial:
A lo largo de los ejemplos supondremos que la aplicación que estamos trabajando se llama miaplicacionEvolución del modelo
Los pasos usuales son :
- preparar el archivo de migración (generalmente automático)
- Editar forwards o backwards (solamente si vas a hacer algo especial)
- aplicar el cambio
./manage.py schemamigration miaplicacion --auto ./manage.py migrate miaplicacion
Poblar datos
Los pasos usuales son :
- preparar el archivo de migración (generalmente automático), en el ejemplo más abajo usamos como nombre de migración a miimporte
- Editar forwards y opcionalmente la función backwards
- poblar
./manage.py datamigration miaplicacion miimporte
tomados de un archivo xml, json o yaml
Suponiendo que se preparó un archivo importeusuario.json en forwards bastaría colocar algo como:
from django.core.management import call_command
call_command("loaddata", "importeusuario.json")
de forma pitónica
Por otra parte, se puede aprovechar la aplicación de un script de django para poblar datos, suponiendo que tiene un modelo llamado Usuario, se puede emplear el parámetro orm que está en forwards de la siguiente forma:
def forwards(self, orm):
usuario = orm.Usuario()
usuario.nombre = 'Pepe'
usuario.save()También puede acceder a modelos de otras aplicaciones, puede ver la sección 3 del tutorial
Y al final, por supuesto, hay que aplicar la migración
./manage.py migrate miaplicacion

