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