在 Django 中重置 SQLite 数据库

新手上路,请多包涵

我正在尝试重构 Django 项目。我重命名了几个应用程序并添加了一个新的应用程序,并洗牌了一些模型。我想清除我的数据库和迁移并重新开始,但我不确定如何完成此操作。这是我所做的:

 rm -r myapp/migrations // I ran this for all my apps
python manage.py flush
python manage.py makemigrations myapp // I ran this for all my apps
python manage.py migrate // This errors

我得到一个错误:

 django.db.utils.OperationalError: table "myapp_mymodel" already exists

谁能告诉我我可能做错了什么?

编辑: 删除所有表的 django 命令是什么? 不工作。

原文由 InnisBrendan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 451
2 个回答

Delete database and delete migration files ( .py and .pyc ) in migrations directory of your app (don’t delete __init__.py file).然后运行 python manage.py makemigrations apppython manage.py migrate

原文由 vsd 发布,翻译遵循 CC BY-SA 3.0 许可协议

我有同样的问题,使用 Django 1.10,这就是我所做的,我删除了数据库 sqlite 文件,删除了每个应用程序中的 pycache 文件夹,删除了每个应用程序的迁移文件夹中的所有文件,除了 init .py 文件,然后运行 python manage.py makemigrationspython manage.py migrate 。另请注意,因为您删除了数据库,所以您必须使用 python manage.py createsuperuser 创建一个新的超级用户。希望这可以帮助

原文由 Daniel Vieira 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题