Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python syncdb没有再次创建表?_Python_Django_Django South - Fatal编程技术网

Python syncdb没有再次创建表?

Python syncdb没有再次创建表?,python,django,django-south,Python,Django,Django South,我遇到了这个问题:我遇到了一些迁移问题,我尝试了很多次,在这个过程中,我删除了迁移并重试,甚至删除了数据库中的一个表。数据库中没有数据,所以我不必担心。但是现在如果我尝试syncdb,它不会创建我手动删除的表 老实说,我每次都会遇到这种迁移问题 我应该怎么做才能再次创建表?您使用的是south 如果是,则存在迁移历史数据库。 确保删除要再次运行迁移的行。尝试在应用程序中使用comand reset,类似于: python manage.py reset my_app 为了确保您正在删除南方历史

我遇到了这个问题:我遇到了一些迁移问题,我尝试了很多次,在这个过程中,我删除了迁移并重试,甚至删除了数据库中的一个表。数据库中没有数据,所以我不必担心。但是现在如果我尝试
syncdb
,它不会创建我手动删除的表

老实说,我每次都会遇到这种迁移问题


我应该怎么做才能再次创建表?

您使用的是
south

如果是,则存在迁移历史数据库。
确保删除要再次运行迁移的行。

尝试在应用程序中使用comand reset,类似于:

python manage.py reset my_app

为了确保您正在删除南方历史,并在不存在南方的情况下使用syncdb,您必须在两个位置删除迁移:

  • 在数据库中:删除由south创建的表
  • 迁移文件:删除south使用的文件夹。它们就像“应用程序名称/迁移”
  • 如果您的数据库中不需要任何数据(例如,因为它正在测试),建议您执行完全重置,而不是只删除south表。这样做的突击队是

    python manage.py reset_db --router=default
    
    希望有帮助

    一些额外的帮助


    通常,当您在已安装的应用程序中使用syncdb和south时,您会收到一条消息,说明某些应用程序无法同步,您必须使用迁移。尝试进行syncdb并查看无法同步的应用程序。如果有一些应用程序,请删除该应用程序中的“migrations”文件夹,然后再次创建syncdb。该应用程序不应再次出现在无法同步的列表中。

    尝试重命名迁移文件并运行
    python manage.py syncdb

    是否可以添加您的settings.py文件,并且可能是从根目录到一个models.py文件的模型文件和项目结构之一如果您不担心数据,创建一个新数据库并启动afresh@karthikr,创建新数据库是一个粗鲁的解决方案,这里真的没有解决方案吗?为什么是粗鲁的?你不在乎数据,当你做syncdb时,你无论如何都会重新开始。@karthikr,你是对的。但现在我做了syncdb——全部。它现在起作用了。但我不知道为什么会这样:)我删除了所有迁移我做的,它只删除数据,不创建表