1

Django にパッケージをインストールした後は、もっと注意する必要があることを知りました。これは、新しいプラグインをインストールするときに移行または syncdb する前に、データベースをダンプする (または単にデータベース ファイルをコピーする) 必要があるためです。

さて、遅くなりました。いくつかのパッケージ (pip install packageおよびpython manage.py migrate) をインストールおよび削除しました。データベースをクリーンまたはパージしたいので、使用されなくなったテーブルとフィールドを削除します。

で使用されなくなったフィールドやテーブルを検索および/または削除する方法はありますINSTALLED_APPSか?

すべてのファイルを反復処理してINSTALLED_APPS models.py、データベースの現在の状態と比較することは可能です。もう 1 つのオプションは、完全に新しいデータベースを生成し、それを古いデータベースと比較することです。

4

1 に答える 1

2

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 に答える