1

我刚刚了解到在 Django 中安装任何包后我应该更加小心。这是我应该在安装新插件时在迁移或同步数据库之前转储我的数据库(或简单地复制数据库文件)。

现在,为时已晚。我已经安装和删除了几个包(pip install packagepython manage.py migrate),我想清理或清除我的数据库,所以我摆脱了不再使用的表和字段。

是否有任何方法可以搜索和/或删除不再使用的字段和表格INSTALLED_APPS

似乎可以遍历所有INSTALLED_APPS models.py文件并将它们与数据库的当前状态进行比较。另一种选择是生成一个全新的数据库并将其与旧数据库进行比较。

4

1 回答 1

2

我认为你有两个选择:

1 - 使用 sqlclear django 命令。

    $ python manage.py sqlclear appToUninstall > droppingApp.sql

   BEGIN;

   DROP TABLE "appToUninstall_table";

   ...

   COMMIT;

并在您的数据库中手动执行查询。

2 - 也许检查 South API 并创建自己的 Django 命令

from south.db import db

...

db.delete_table(Table, cascade=True)
于 2014-01-20T02:49:46.967 回答