2

私は最近、失敗したラック移行でホストがサーバー全体を (陽気に) 削除した、かなり悪いサーバー クラッシュから回復しました。幸いなことに、私はいくつかのバックアップを取り、サーバーはバックアップして実行しています. 私は南を使い始めるつもりでしたが、これは将来のアップグレードを実行するのに役立つ可能性があると感じています.

現在、私はローカル マシンで開発を行ってから、変更を本番サーバーにプッシュしています。以前は、これはかなりつらい経験でしたが、南はそれをすべて簡単にできるように見えます.

現状では、私の開発マシンにはいくつかの変更があり、実稼働サーバーまでは行っていませんが、それらの変更をロールアウトしたいと考えています。開発マシンと本番サーバーの両方が、すべてのコードを保存する Subversion アカウントにリンクされています。

質問..

  1. 両方のマシンに南をインストールするにはどうすればよいですか。
  2. これを使用して、開発マシンの変更を本番環境に移行するにはどうすればよいですか。

簡単な例..

たとえば、これは機能しますか?

  1. 運用サーバーにアプリごとに south をインストールし、初期移行を作成します。
  2. 変更をsvnにコミットする
  3. 本番サーバーからデータベースをダンプする
  4. ローカル マシンの svn から最新の変更を確認します。

この時点で、開発マシンは本番サーバーと一致するはずですよね? ここで、開発サーバーから運用サーバーへの変更を更新します。

  1. 開発マシンでチェックアウトしたコピーにローカルの変更をコピーし、south を使用して更新プログラムの移行を作成します。
  2. 変更を .svn にコミットする
  3. 本番サーバーで移行を実行して、スキーマへの変更を更新し、データを新しいデータベースに移行します

これは機能しますか?

4

1 に答える 1

3
  1. http://south.readthedocs.org/en/latest/convertinganapp.html#converting-an-appを ご覧ください
  2. それ以外はかなり単純です:

    開発中:

    • モデルを修正する
    • ./manage.py schemamigration app --auto
    • ./manage.py 移行
    • これが機能することを確認してください
    • 専念

    製品上:

    • チェックアウト
    • ./manage.py 移行
    • サーバーを再起動する
于 2012-07-05T19:38:35.437 に答える