我遇到了这个问题:我有一些迁移问题,我尝试了很多次,在途中,我删除了迁移并再次尝试,甚至删除了db中的一个表。 db中没有数据,所以我不必担心。但是现在如果我尝试syncdb
,它就不会创建我手动删除的表。
老实说,每次遇到这种类型的迁移问题我都会陷入困境。
我该怎样做才能再次创建表格?
答案 0 :(得分:2)
为了确保您删除南方历史记录并使用syncdb,就像没有南方存在一样,您必须在两个位置删除迁移:
如果您的数据库中不需要任何数据(例如,因为它正在测试),而不是只删除南表,建议您完全重置。这样做的突击队员是
python manage.py reset_db --router=default
希望它有所帮助!
一些额外帮助
通常,当您使用syncdb并且南方在您的INSTALLED_APPS中时,您会收到一条消息,指出某些应用程序不会同步,您必须使用迁移。尝试执行syncdb并查看无法同步的应用程序。如果有其中一些,请删除该应用程序中的“migrations”文件夹并再次生成syncdb。应用程序不应再出现在无法同步的列表中。
答案 1 :(得分:0)
south
吗?
如果是,则存在一个迁移历史数据库。 确保删除提及您要再次运行的迁移的行。
答案 2 :(得分:0)
尝试在应用程序中使用命令reset,类似:
python manage.py reset my_app
答案 3 :(得分:0)
尝试重命名迁移文件并运行python manage.py syncdb
。