SUAP - EDU
Workflow
- Criar ou atualizar um model.
- Executar o comando:
./manage.py makemigrations app_name
- Executar o comando abaixo para migrar tudo:
./manage.py migrate
- Executar o comando abaixo para migrar uma app específica:
./manage.py migrate app_name
- Repita quantas vezes forem necessárias
Exemplo
1) Preparando o projeto
$ django-admin.py startproject bitcoin_tracker $ cd bitcoin_tracker $ ./manage.py startapp historical_data
2) Criar o modelo
class PriceHistory(models.Model): date = models.DateTimeField(auto_now_add=True) price = models.DecimalField(max_digits=5, decimal_places=2) volume = models.PositiveIntegerField() total_btc = models.PositiveIntegerField()
3) Criar as migrations da app historical_data
./manage.py makemigrations historical_data
OBS: se você não especificar o nome da migration, ele criará as migrations para todas as aplicações.
A saída do comando será
Migrations for 'historical_data': 0001_initial.py: - Create model PriceHistory
4) Aplicar as migrations
./manage.py migrate
5) Ver migrations não aplicadas “You have unapplied migrations; ”
python manage.py showmigrations --list | less
Haverá um [X] para mostrar as migrações que foram aplicadas.