InconsistentMigrationHistoryとは?
- DB内の依存関係が原因で、整合のとれたマイグレーションができなくなる
例外のよう。 - エラーメッセージは、例えば以下のように表示されます。
django.db.migrations.exceptions.InconsistentMigrationHistory:
Migration example_django.0001_initial is applied before its dependency sample_app.0001_initial on database 'default'.
どう対処しようか?
- 私の場合は、settings.py の INSTALLED_APP を一時的に修正し、
マイグレーション実行後に元に戻す、という対処で解決できました。
settings.pyを一時修正
INSTALLED_APPS = [
...
# 'example_django', ←例外が発生した部分を一時的にコメントアウト
...
]
マイグレーションを実行
$ python manage.py makemigrations
$ python manage.py migrate
settings.py を復元
- コメントアウトした 'example_django' の行を元に戻します。
マイグレーションを再実施
-
これで整合がとれたマイグレーションができるようです。
-
今回は こちらのサイトを参考にさせていただきました。
-
この対応でなぜ解決したのか、まだ「?」な部分も多いです。またわかったら追記していきたいと思います。