12

バックグラウンド :-

私はDjango1.3を使用しています。DB移行とGitSCMのモジュールとしてSouthを使用しています。

問題:-

形成された移行フォルダを処理する正しい方法は何ですか?

主な問題は、開発マシンのDBスキーマに変更を加えることです。これを本番サーバーにアップロードするときに、既存のスキーマを移行する必要があります。その間、移行ファイルには常にいくつかの問題があります。

移行フォルダをgitignoreに追加するだけでよいですか?またはそれについて行くためのより良い方法はありますか?

4

1 に答える 1

21

移行フォルダをバージョン管理システムに追加し、本番環境と開発環境で同じファイルを使用する必要があります。移行を最初から導入したのではなく、既存のテーブルがある場合は、実稼働システムでいくつかの問題が発生する可能性があります。

したがって、最初の移行を偽造syncdbする必要があります。これは通常、データベースを初めて作成したときと同じことを行います。そのため、本番マシンで初めてアプリに移行を適用する場合は、を実行しmanage.py migrate app_name 0001 --fakeます。これにより、Southは、最初の移行がすでに適用されており(これは、syncdbですでに発生しています)、migrate再度実行すると、次の移行が続行されることを通知します。

于 2012-04-10T08:39:24.990 に答える