【问题标题】:How to reset Django database?如何重置 Django 数据库?
【发布时间】:2021-06-18 08:16:01
【问题描述】:

我真的很想知道如何重置 Django 数据库。 具体来说,我不小心用这个命令删除了一个表,

$ python manage.py dbshell
$ DROP TABLE qaapp_question;

一切都搞砸了。

我关注了一个 stackoverflow 帖子,刚刚删除了表格,哈哈,完全搞砸了。 syncdb 的东西显然已被弃用,因此无法使用。

我尝试了所有我搜索并找到的方法,如下:

$ 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.

不工作。

手动尝试删除sqlite数据库文件 -> 资源繁忙或锁定

不工作。

我想恢复已删除的表,但我不在乎,请告诉我如何删除,初始化数据库,然后能够使用python manage.py makemigrationspython manage.py migrate 重建数据库。 感谢您的帮助。

【问题讨论】:

标签: python django


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 2015-04-11
    • 2012-06-19
    • 1970-01-01
    • 2011-07-20
    • 2020-12-02
    • 1970-01-01
    相关资源
    最近更新 更多