非常に大きなデータベース (5 GB 以上) で動作する Web アプリケーション プロジェクトがあります。データベース内のデータはプロジェクトごとに分割されています。各プロジェクトは約 1 GB かかり、アプリケーションが機能するための最小セットです (このデータセット全体に広がるいくつかの数学計算を行い、データセットの一部を削除することはオプションではありません)。
毎日のビルドの一環として、アプリをテスト環境にデプロイします。そのために、ビルダーは、現在の DB を適切なバージョンに更新するカスタム DB 更新ユーティリティを実行します。しかし、QA チームが「時間をさかのぼって」さまざまなビルドの計算結果を比較できるように、すべての毎日のビルドを保持する必要もあります。下位互換性のあるデータ スキーマを作ろうとしても、非常に困難で時間がかかる場合があります。したがって、質問は次のとおりです。
以前の毎日のビルドを維持して実行する必要があり、毎日のビルドを実行しながら大規模なデータベースを管理する必要がある場合、データベースのバージョン管理にどのようなアプローチを使用しますか?
違いがあれば、SQL Server 2005 と ColdFusion をフロントエンドに Java を使用しています。