Python 如何重置Django数据库?

Python 如何重置Django数据库?,python,django,Python,Django,我很想知道如何重置Django数据库。 特别是,我用这个命令无意中删除了一个表 $ python manage.py dbshell $ DROP TABLE qaapp_question; 一切都搞砸了 我在一篇stackoverflow帖子之后删除了表格,哈哈,完全搞砸了。syncdb stuff显然已弃用,因此无法使用它 我尝试了我在谷歌上搜索到的所有方法,如下所示: $ python manage.py migrate qaapp zero django.db.utils.Opera

我很想知道如何重置Django数据库。 特别是,我用这个命令无意中删除了一个表

$ python manage.py dbshell
$ DROP TABLE qaapp_question;
一切都搞砸了

我在一篇stackoverflow帖子之后删除了表格,哈哈,完全搞砸了。syncdb stuff显然已弃用,因此无法使用它

我尝试了我在谷歌上搜索到的所有方法,如下所示:

$ python manage.py migrate qaapp zero 
django.db.utils.OperationalError: no such table: qaapp_question
不工作

$ manage.py migrate --fake <appname> zero
$ rm -rf migrations # I deleted the app migrations folder manually
$ manage.py makemigrations <appname>
$ manage.py migrate --fake <appname>
$ python manage.py flush
$ python manage.py reset_db 
Reset successful.
不工作

$ manage.py migrate --fake <appname> zero
$ rm -rf migrations # I deleted the app migrations folder manually
$ manage.py makemigrations <appname>
$ manage.py migrate --fake <appname>
$ python manage.py flush
$ python manage.py reset_db 
Reset successful.
不工作

$ manage.py migrate --fake <appname> zero
$ rm -rf migrations # I deleted the app migrations folder manually
$ manage.py makemigrations <appname>
$ manage.py migrate --fake <appname>
$ python manage.py flush
$ python manage.py reset_db 
Reset successful.
手动尝试删除sqlite数据库文件 ->资源正忙或已锁定

不工作

$ manage.py migrate --fake <appname> zero
$ rm -rf migrations # I deleted the app migrations folder manually
$ manage.py makemigrations <appname>
$ manage.py migrate --fake <appname>
$ python manage.py flush
$ python manage.py reset_db 
Reset successful.
我想还原已删除的表,但我不在乎了,请告诉我如何删除、初始化数据库,然后能够使用
python manage.py makemigrations
python manage.py migrate
重建数据库。
感谢您的帮助。

只需删除SQlite数据库文件即可。如果您遇到“资源繁忙或锁定”,只需将整个项目目录复制到其他地方并尝试将其删除。想想看,在部署时,您是否会将您的数据库文件全部上载到heroku?我知道不是,SQlite文件不应该包含在git项目中,而应该包含在.gitignore文件中。因此,如果找不到数据库文件,Django将自动为您生成一个新的数据库(重置)。

只需删除SQlite数据库文件即可。如果您遇到“资源繁忙或锁定”,只需将整个项目目录复制到其他地方并尝试将其删除。想想看,在部署时,您是否会将您的数据库文件全部上载到heroku?我知道不是,SQlite文件不应该包含在git项目中,而应该包含在.gitignore文件中。因此,如果找不到数据库文件,Django将自动为您生成一个新的数据库(重置)。

这是否回答了您的问题?谢谢但是没有,我已经试过了。现在我需要重置数据库,而不是还原表。这是否回答了您的问题?谢谢但是没有,我已经试过了。现在我需要重置数据库,而不是恢复表。