1

特定のチーム ワークフローで南を使用する方法に興味があります。私たちのチームは、すべての開発環境に対して単一の DB を持っています。たとえば、ある開発者が新しいブランチでいくつかの機能のコーディングを開始し、この機能にはデータベースの移行が必要です。必要に応じて、South で初期/後続の移行を行います。この時点で、south_migrationhistory テーブルの DB に特定の行があります。次のように見えるとします

10    app1_name    0001_initial           <timestamp>
11    app1_name    0002_needed_changes    <timestamp>

現時点では、この新しい機能ブランチはどこにもマージされておらず、オリジン リポジトリにもプッシュされていないため、このようなコードの変更を知っている開発者は 1 人しかいません。

同時に、移行が必要な他の機能 (他の django アプリであっても) を実装している別の開発者がいます。この開発者が必要な移行を行おうとすると、South で問題が発生します。これは、最初の移行 (最初の開発者によって作成された) を含む既存のデータベース行があるためです。ただし、VCS にはまだ実際の移行がありません。そんな状況が生み出す

$ manage.py convert_to_south app2
....
south.exceptions.NoMigrations: Application '<module 'apps.app1' from '/home/user/dev/apps/app1/__init__.pyc'>' has no migrations.

そのようなワークフローの解決策はありますか、それとも単に変更する必要がありますか?

4

0 に答える 0