Checking that Django has all migrations.

All of our project are setup with continuous deployment on CircleCI. An occasional source of errors has been caused by missing model migrations because the migration wasn’t committed.

There’s a simple solution by adding a migration check before deploying:

src/backend/manage.py makemigrations --check --dry-run --settings=conf.settings.test > /dev/null || echo "Missing migrations."

We’re using conf.settings.testwhich has sqlite3 since Django will attempt to connect to your database and error out if it isn’t available even on --dry-run