How do I delete DB (sqlite3) in Django 1.9 to start from scratch?
我在模型中犯了一个拼写错误,现在我的一列拼写错误。我想删除数据库中的所有表,修复model.py中的错误,并使用model中正确的拼写重新创建数据库。
我已经尝试使用本文中的建议,但是在遵循这里概述的命令之后,表仍然存在。
有人有快速的方法吗?
删除django项目文件夹中的sqlite数据库文件(通常是db.sqlite3(或放在任何位置)。
删除所有django应用程序中migration文件夹中除__init__.py文件以外的所有内容
更改您的模型(models.py)。
运行命令python manage.py makemigrations或python3 manage.py makemigrations。
然后运行命令python manage.py migrate。
这就是全部。
- 由于Atom中的自动完成功能,我发现在几个不同的地方有打字错误。有一次我把它们混合在一起,所有的建议都奏效了。谢谢您!
- @丹,我认为这是另一个打字错误。‘混合’代表‘固定’。:)
rm -f tmp.db db.sqlite3
rm -r my-app/migrations
python manage.py makemigrations
python manage.py migrate
删除数据库。从应用程序中删除迁移。重新运行迁移。注:您也可以这样做:python manage.py makemigrations my-app。迁移更改。
您可以删除您的sqlite文件。
关于您的问题,您应该使用django迁移系统使用makemigrations和migrate命令为您的项目进行数据库更改。
迁移文档
- 我把db.sqlite3文件移到垃圾箱。然后,当我尝试进行迁移时,我得到了这个错误:"django.core.exceptions.field error:为CompanyProfile指定的未知字段(Company_Industry)"Company_Industry是我要修复的错误位置。
- 考虑到您从头开始做任何事情,您可以删除以前的迁移,否则您应该调试迁移文件,并查看问题所在。
- 如果删除迁移文件,请记住不要删除init文件