0

既存の移行ツールのほとんど (すべてではないにしても) は、移行履歴が直線的であると考えています。したがって、新しい移行を作成すると、バージョン 42 などを取得し、変更を受け取った後、誰もがこのバージョンに更新できます。

問題は、DVCS を使用している場合、2 人が同時にバージョン 42 を使用できることです。これは、競合の解決が苦痛を伴うほど自明ではなくなることを意味します。:)

だから私の質問は - 私は自分のシステムをロールバックする必要がありますか、それとも野生のものはありますか? できればシンプルで、*nix に適しています。これは主に mysql と postgresql で使用する予定です。

4

1 に答える 1

0

Rails では、これを処理する方法として、ファイルの先頭に日付をYYYYMMDDHHMMSS_migration_descriptor.rb.

次に、バージョン番号を追跡することにより、テーブルに適用された移行を追跡します。これにより、最新の変更よりも「低い」バージョン番号のテーブルで移行を実行できるため、DVCS の問題が大幅に簡素化されます。

あなたは Rails を使っていないかもしれませんが、Rails がこの問題を解決する方法はとても素晴らしいと思います。API ドキュメントまたはRails ガイドで、 Rails の移行に関する詳細を読むことができます。

于 2011-05-18T19:57:24.013 に答える