私は移行ツールとしての私のDjangoプロジェクトに南使用したいが、私は、マルチユーザーシナリオで南使用に問題がある:Djangoと紛争による南の移動(0007_two ...と0007_one)解決方法?
異なるマシン上で同時に動作する2人の開発者が同じ番号を持つ2つの移行を作成
最初のPC上:
0007_extend_lizard.py
秒PC上:
0007_swap_name_adopter.py
この場合、./manage migrate --merge
または./manage migrate 0006
(ロールバック)を実行し、を再度実行して./manage migrate
を実行することができます。しかし、models.py
に新しいフィールドを追加して./manage startmigration southdemo --auto
を実行すると、最後のマイグレーションからmodels = {}
メタデータが取得され、最初のマイグレーションの情報が欠落しています。この結果、最初の0007から再び(!!!)変更を作成して移行0008を作成しています。
この問題を解決するにはどうすればよいですか?
現在、私は約2オプション思っています:
手動
models = {}
が不足して動かす手動で1つのファイルに0007の移行の両方をマージしてから移行する(ただし、いくつかのいずれかが「ロールバック」を実行しなければなりません)メタを移動させて0008を移動させ、0008の次の
--auto
は完全に動作します。
どのようなオプションが適していますか?それとも、私は行方不明ですか?