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 Git, will take care of this. As the latest source is checked out, the new migration scripts will also appear.
- Run...