プロジェクトの一部のデッド コードを削除している最中であり、プロジェクトの開始以来使用してきたサード パーティ アプリへの依存関係を削除する機会があります。私たちのモデルの 1 つに、サードパーティ製アプリのモデルへの ForeignKey があり、プロジェクトの新しいインスタンスに移行を適用しようとすると問題が発生します。
モデル例:
from django.db import models
from thirdparty.models import ThirdPartyModel
class MyModel(models.Model):
fk = models.ForeignKey(ThirdPartyModel)
South によって削除MyModel.fk
が検出され、移行が正常に作成されます。移行の適用とロールバックも機能します。これで、変更を削除thirdparty
しINSTALLED_APPS
てコミットできます (新しい移行とsettings.py
)。
別のマシンでリポジトリを複製すると、問題が発生します。 ./manage.py syncdb
期待どおりに実行され、South によって管理されていないすべてのテーブルが作成されますが、./manage.py migrate myapp
(の初期バージョン) のテーブルを作成するときに失敗します。MyModel
thirdparty_thirdpartymodel
thirdparty
INSTALLED_APPS
外部依存関係の削除を処理する標準的な方法はありますか? これは、移行をリセットする適切な時期ですか?