/ / Mudanças no banco de dados de modelos do Django - banco de dados, django

Mudanças no banco de dados de modelos do Django - banco de dados, django

Eu tenho um banco de dados legado que estou usando em um aplicativo no Django. Eu usei a funcionalidade admin do django para gerar o arquivo models.py das tabelas existentes.

Se eu fizer alterações nos modelos, como adicionar um unique_together constraint to models, são as mudanças gerenciadas pelo Django, ou eu tenho que de alguma forma aplicar as mudanças do modelo no banco de dados?

Respostas:

3 para resposta № 1

Para que o django detecte mudanças, você precisará usar uma ferramenta de migração de terceiros chamada south. Agora, desde que você já tenha cometido o significado que você correu python manage.py syncdb, você precisará excluir a tabela e começar de novo.

É assim que você faz isso (depois de ter deletado sua tabela):

  1. Instale o sul usando pip install south
  2. Adicione o sul aos aplicativos instalados e verifique se ele vem antes de todos os outros aplicativos que você criou
  3. Rode isto: python manage.py schemamigration --inital <your app name>
  4. Rode isto: python manage.py migrate <your app name>
  5. Rode isto: python manage.py syncdb <- da última vez você precisará executá-lo :)

Espero que isso tenha ajudado.