FMを使用してデータベースをデプロイしています。その展開の一環として、ビューを展開しています。変更は次のようになります。
R1:ビューを作成
R2:表示に変更はありません
R3:ビューに列を追加します
R4:変更なし
R5:ビューから列を削除します
ビューは、ソース管理にあるスクリプトによって作成されます。R3をデプロイしてから、R2にロールバックすることを決定したとします(奇妙な状態のままにしたくない本番サイトを考えています)。したがって、ビューのスクリプト(ドロップ/作成)はローカルファイルにあります。ローカルバージョンがR3にあるため、そのスクリプトを再度使用することはできませんが、R1(またはR2)に戻したいと思います。
FluentMigratorを使用してビューを以前のバージョンに確実にロールバックするにはどうすればよいですか?私が考えることができる唯一のオプションは、Migrationクラスの文字列にビュー作成スクリプトを保持することです。しかし、クラスではすべてのバージョンを文字列にまとめる必要があるようです。非常に扱いにくく、チームに売り込むのは難しいことです。
私が考えることができるこれに対するすべての現実的な解決策は、ソース管理の考えに反します-ローカルに単一のバージョンを持ち、時間の経過とともにその変化を追跡します。