Migrations help you to confidently make changes to your models. Introduced in Django 1.7, migrations are essential to a methodical development workflow.
The new workflow is essentially as follows:
- The first time you define your model classes, you will need to run the following:
python manage.py makemigrations <app_label>
- This will create migration scripts in the app/migrations folder.
- Run the following command in the same (development) environment:
python manage.py migrate <app_label>
- This will apply the model changes to the database. Sometimes, questions are asked to handle the default values, renaming, and so on.
- Propagate the migration scripts to other environments. Typically, your version control tool, for example ...