我的store
应用中有大约50次迁移,其中一些是schemamigration
,有些是datamigration
。现在我想在0039_add_column_is_worldwide
之前运行0037_some_values_to_objects
。所以我更改了名称0037_add_column_is_worldwide
和0039_some_values_to_objects
。
当我为新数据库执行syncdb
时,它正常工作,但在迁移现有数据库中的新迁移时,它会出现此错误。
引发例外.InconsistentMigrationHistory(问题) south.exceptions.InconsistentMigrationHistory:迁移历史记录不一致 可以使用以下选项: --merge:只会尝试迁移,忽略任何潜在的依赖冲突。
我不想丢失我的数据,所以有没有改变这些迁移的顺序?
答案 0 :(得分:4)
迁移在运行时存储在数据库中,因此如果您已经应用了这些迁移,那么南方将会丢失。你的选择:
如果您仍然在dev中且没有prod数据库,则可以始终从零重新启动:
答案 1 :(得分:0)
我猜你的数据库已经完成了“0037_some_values_to_objects”。
我会这样做:
删除“0037_some_values_to_objects”中forward()和其他方法中的代码。此迁移不起作用。现在添加两个新的迁移。
经验法则:如果一个系统完成了迁移,请不要删除它。把它弄空。