每次尝试运行新迁移时,我的南迁移历史记录表都会导致完整性错误。这是错误:
django.db.utils.IntegrityError: duplicate key value violates unique constraint "south_migrationhistory_pkey"
DETAIL: Key (id)=(40) already exists.
到目前为止,这只发生在本地。我已经删除了数据库并重建了很多次,并且每次所有现有迁移都顺利运行。但是一旦我创建了新的迁移,我就会再次收到此错误。
迁移40恰好是第三方迁移(djangoratings),所以我不相信它是该迁移文件的问题。
非常感谢任何帮助!
答案 0 :(得分:9)
怎么样
SELECT setval('south_migrationhistory_id_seq', (SELECT MAX(id) FROM south_migrationhistory));
这对我有用。
你可能应该事先做pg_dump
,以防万一都出错。
我正在使用postgres,您可能需要使用稍微不同的命令来更新其他数据库的数据库序列。