====== 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.
----------------------------------------------
===== Videoaulas =====
[[https://godjango.com/53-django-17-migrations-an-introduction/|Introdução]]