答案 0 :(得分:125)
答案 1 :(得分:9)
settings.py
不必要的应用INSTALLED_APPS
发表评论
__pycache__
和migrate
models.py
views.py
,admin.py
结束等所有导入链接。urls.py
中的所有链接python manage.py migrate
和python manage.py syncdb
答案 2 :(得分:2)
答案 3 :(得分:2)
我真的很喜欢this article的步骤 - 它包括迁移支持。
也许它需要适应两个代码更新 - 但是当你必须使用许多部署时(例如:测试阶段,BETA版本和生产 - 在我的情况下),它看起来非常安全。
答案 4 :(得分:1)
在我的上下文中,项目存在多次:我有一个开发系统,一些队友有一个开发系统,有一个供客户使用的登台系统和一个生产系统。这意味着我不想手动执行sql命令。我希望它是自动化的。
目标:删除应用程序和所有数据库表。
从应用程序中删除所有文件,文件夹“ migrations”除外
执行以下命令:manage.py makemigrations -n drop_all_tables my_app_to_remove
目录现在看起来像这样:
my_app_to_remove/
my_app_to_remove/__init__.py
my_app_to_remove/migrations
my_app_to_remove/migrations/0001_initial.py
my_app_to_remove/migrations/....
my_app_to_remove/migrations/0030_drop_all_tables.py
my_app_to_remove/migrations/__init__.py
将my_app_to_remove
保留在文件“ settings.py”中。
更新所有项目。告诉队友更新他们的项目并运行迁移。
现在,从settings.py中删除“ my_app_to_remove”,然后再次部署。
答案 5 :(得分:0)
Safely Remove a Django app by Jordan Haines
要完全删除 Django 应用(带模型),请按照以下步骤操作。假设我们要删除一个名为 note_app
的应用:
note_app.models
中的所有模型。如果您向 Django 管理员注册了您的 note_app 模型,您可能还需要从 note_app.admin
文件中删除条目。makemigrations
。这应该创建一个 note_app 迁移,删除您刚刚推荐的所有模型。此迁移还应从其他应用中的模型中移除引用 note_app 模型的字段。Git
提示:提交您的迁移,记下提交,然后创建一个单独的提交来删除 note_app 目录。当您准备好在暂存或生产环境中应用您的更改时,请检出您记下的提交,运行迁移,然后检出最新提交以删除应用程序目录。您的第一次提交仍应在 INSTALLED_APPS 中包含 note_app。note_app
设置中删除 INSTALLED_APPS
。就是这样……超级简单:)