我得到了这个例外:
myproject@aptguettler:~$ manage.py migrate
Traceback (most recent call last):
File "/home/myproject/src/djangotools/djangotools/bin/manage.py", line 32, in <module>
main()
File "/home/myproject/src/djangotools/djangotools/bin/manage.py", line 29, in main
execute_from_command_line()
File "/home/myproject/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/home/myproject/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/myproject/local/lib/python2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/myproject/local/lib/python2.7/site-packages/django/core/management/base.py", line 345, in execute
output = self.handle(*args, **options)
File "/home/myproject/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 86, in handle
executor.loader.check_consistent_history(connection)
File "/home/myproject/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 292, in check_consistent_history
connection.alias,
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration myapp.0029_bar is applied before its dependency myapp.0005_foo_squashed_0028_dynamic_year on database 'default'.
我的迁移:
name
-------------------------------------------
0001_initial
0002_...
0003_...
0004_...
0005_foo
0006_...
0007_...
...
0028_dynamic_year
0029_bar
0030_...
可能是什么原因?
答案 0 :(得分:1)
我在队友的帮助下找到了原因。
他这样做了:
我在我的(旧)开发系统中更新了git repo。然后make migrations
提出异常。
Django无法解决这个问题,因为已经应用了一些迁移,而有些迁移并没有,旧的压缩迁移文件不再可用。
我采用了最简单的解决方案:我删除了我的开发数据库并从头开始创建它。