Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removendo migrations do .gitignore #74

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Removendo migrations do .gitignore #74

wants to merge 3 commits into from

Conversation

luislhl
Copy link
Contributor

@luislhl luislhl commented Mar 21, 2018

O que foi feito

  • Removi a pasta migrations do .gitignore.
  • Rodei o makemigrations para que ele criasse a migração inicial e comitei-a.

Motivação

As migrações deveriam sempre ser comitadas, como descrito na documentação do Django:

The migration files for each app live in a “migrations” directory inside of that app, and are designed to be committed to, and distributed as part of, its codebase. You should be making them once on your development machine and then running the same migrations on your colleagues’ machines, your staging machines, and eventually your production machines.

Observação

Caso alguém já tenha um conjunto de migrações mais granular, pode ser melhor que essa pessoa comite as migrações dela em vez de mim. (Por exemplo, se houverem migrações na máquina de prod, poderíamos comitá-las)/

Como eu estou entrando agora, tive que criar um migração initial, que era o que eu podia fazer.

Atenção

Antes de mergear esse PR, devemos ter um plano definido do que será feito na máquina de produção com relação às migrations.

Eu sugiro que a migration seja executada lá usando a opção --fake-initial (caso não haja migrações lá ainda):

--fake-initial
Allows Django to skip an app’s initial migration if all database tables with the names of all models created by all CreateModel operations in that migration already exist. This option is intended for use when first running migrations against a database that preexisted the use of migrations. This option does not, however, check for matching database schema beyond matching table names and so is only safe to use if you are confident that your existing schema matches what is recorded in your initial migration.

A mesma coisa teria que ser feita por todos os desenvolvedores em seus respectivos clones locais do projeto, caso eles já tenham um banco de dados local configurado.

https://docs.djangoproject.com/en/2.0/ref/django-admin/#cmdoption-migrate-fake-initial

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant