1. ホーム
  2. python

[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory

2022-07-06 20:53:30

質問

を実行すると python manage.py migrate を Django プロジェクトで実行すると、次のようなエラーが発生します。

Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/home/hari/project/env/local/lib/python2.7/site-     packages/django/core/management/__init__.py", line 363, in execute_from_command_line
utility.execute()
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 355, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
output = self.handle(*args, **options)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 86, in handle
executor.loader.check_consistent_history(connection)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 298, in check_consistent_history
connection.alias,
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency account.0001_initial on database 'default'.

以下のようなユーザーモデルを持っています。

class User(AbstractUser):
    place = models.CharField(max_length=64, null=True, blank=True)
    address = models.CharField(max_length=128, null=True, blank=True)

どうすればこの問題を解決できますか?

どのように解決するのですか?

データベースの django_migrations テーブルが不整合の原因であり、ローカルパスからだけではすべての移行を削除することはうまくいきません。

データベースから django_migrations テーブルを切り捨ててから、もう一度移行を適用してみる必要があります。うまくいくはずですが、うまくいかない場合は、もう一度 makemigrations を実行してからマイグレートしてください。

注意: データのバックアップを取ることを忘れないでください。