Djangoでsyncdbを実行すると、コンテンツタイプの主キーが再計算されます。新しいモデルを作成すると、次にsyncdbを実行するときに、コンテンツタイプの主キーが異なります。
アプリケーションを本番環境で実行している場合、データベースを新しいモデルで更新し、コンテンツタイプpksの整合性を維持するにはどうすればよいですか?
Djangoでsyncdbを実行すると、コンテンツタイプの主キーが再計算されます。新しいモデルを作成すると、次にsyncdbを実行するときに、コンテンツタイプの主キーが異なります。
アプリケーションを本番環境で実行している場合、データベースを新しいモデルで更新し、コンテンツタイプpksの整合性を維持するにはどうすればよいですか?
実行syncdb
しても既存のContentType値は更新されません。これらはデータベースに保存され、変更されません。したがって、それらに依存する関係は影響を受けません。
ただし、新しく定義されたモデルは、syncdbを実行すると、新しいContentType値を取得します。現在、それらが何であるかを事前に定義する方法はありません。Ludwikが指摘しているように、この問題は1.2で解決されています。
この問題は、Django 1.2(2週間でリリースされる予定)で自然キーを使用して解決されます。