私は、DB の変更に遅れずについていくのに苦労しています。また、Dev から PRD への DB の変更をあるリリースから別のリリースにクリーンに維持および展開する方法についても苦労しています。
現在、SQL スクリプトを使用して、前回のリリース以降の変更点を把握しています。
- プロシージャとビューは、存在する場合は簡単に削除して再作成できるため、簡単に進めることができます。
- 既存のテーブルは単純に削除できないため、テーブルの変更はより困難です。
しかし、私が理解できない主な問題は、2 つの主要な PRD リリースの間に Dev と UAT への複数のミニ リリースがあることだと思います。
Dev および UAT ミニ リリースは、他の開発者から変更のリストを取得し、それを自分のものと組み合わせてリリースを行う限り問題ありません。さらに、Dev および UAT DB のシステム管理者であるため、そこに何があるかを正確に把握し、変更を適用するとどうなりますか。
PRD の場合、きれいなスクリプトを作成して DBA に渡して、DBA で実行できるようにする必要がありますが、PRD のテーブル名、列、およびデータ以外は何も表示できません。
PRD 用のこのスクリプトは、ミニ リリースに移行したほとんどすべてをキャプチャする必要がありますが、ほとんどの場合、これらのミニ リリースは連続したものではなく、機能 A を追加し、その後のリリースで機能 A を削除するなど、互いに否定することもありますが、PRD の場合は、機能 A を追加する必要があるかもしれないので、機能 A を効果的に削除する 2 番目のミニ リリースを作成する必要はありません。
要するに、リリース間の DB の変更を管理および追跡する方法と、DB の変更のための展開スクリプトを作成する良い方法を検討しています。
注: すべての SQL オブジェクトのコピーを TFS に手動で保持しています。
私はデータベース プロジェクトを使用してみましたが、私が望んでいたことを成し遂げることができませんでした。
アイデアはありますか?どんな助けでも大歓迎です