1

私は自分の django プロジェクト、dev と production に 2 つの環境を使用しています。ほとんどの場合、私は開発に取り組んでいます。モデルのフィールドを変更するときは、南を使用して新しいモデルに移行しています。

私が理解していないのは、どうすればそれを本番データベースに転送できるのですか? 私がやっていることは、コードを SVN にコミットし、本番環境で更新してから、移行を試みることです。

移行ディレクトリとファイルをコミットする必要がありますか? または私はすべきではありませんか?本番マシンに移行しようとすると、常に失敗するようです。

編集:追加のテストを行いました。サウス ヒストリ テーブルをクリアし、移行ディレクトリをすべて削除しました。

今、私が実行しているローカル環境で: python manage.py convert_to_south app_name

すべてが完璧に機能しているようです。モデルにフィールドを追加して実行しました: python manage.py schemamigration app_name --auto

期待どおり、新しいフィールドがデータベースに移行されました。ここで、移行フォルダーに .py ファイルをコミットしました (0001 の初期値と新しいフィールドの 0002 が含まれています)。

私の開発環境では、移行ファイルを含むツリーを更新しました。python manage.py syncdb を実行します。south_migrationhistoryテーブルが作成されましたが、空です。

今、私は python manage.py schemamigration app_name --auto を実行し、「何も変わっていないようです」という結果になりました。

south_migrationhistroy はまだ空です.....ここで何が間違っているのかわかりません

4

1 に答える 1