0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

django.db の InconsistentMigrationHistory例外に遭遇した時の対処

Posted at

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' の行を元に戻します。

マイグレーションを再実施

  • これで整合がとれたマイグレーションができるようです。

  • 今回は こちらのサイトを参考にさせていただきました。

  • この対応でなぜ解決したのか、まだ「?」な部分も多いです。またわかったら追記していきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?