Glennularのように、私たちはバージョンを使用してスキーマとs'procsを制御しています。
私たちはかなり高度なバージョン管理構造(CI、デベロッパーへの自動デプロイメント、ワンクリックでステージングしてプロードする展開)を持っていますが、私たちはその構造内のDBプロジェクトを一切含んでいません。我々はまだそれを信用していない。
UPDATE:は
(空間でのアウトの)私たちは、会社の機能領域(セールス、マーケティング、など)のための別のTFSのプロジェクトを持っています。各TFSプロジェクト内には、メインフォルダとプロダクションフォルダがあります。また、データベースプロジェクトを含む1つのTFSプロジェクトと、共通アセンブリ/ビジュアルスタジオプロジェクトを含むもう1つのプロジェクトもあります。
リリース時に、メインからプロダクションに分岐します。我々はそれに対処するにはあまりにも速く動くので、私たちはステージングブランチを持っていません。間違いなく、私たちの生産性は、私たちが1週間に行う生産レベルのリリースの数によって測定されます。バグ修正、新機能など
CIはすべてのチェックインによってビルドサーバーがDEV環境に展開されるようにメインブランチに設定されています。ユニットテストとWebテストが実行され、正常に完了した場合、ビルド品質は自動的に「開発」に設定されます。ビルド品質を「ステージング中」に変更すると、以前の「ステージング中の」ビルドが「拒否」に設定され、そのビルドがステージングサーバーにプッシュされ、構成ファイルが正しいサーバーを指すように更新されます。 (私はこれにTFS DeployerとPowerShellスクリプトを使用しました)。
QAはステージングサーバーからテストします。幸せになると、プロダクションチームはビルドクオリティを「プロダクション」に変更します。これによりビルドがプロダクションエリアに送られ、手動で正しい場所にコピーされます。プロダクションが完了すると、プロダクションは開発者にそのバージョンをプロダクションフォルダに分岐します。 QAはまた、実際にすべてが期待どおりに機能していることを確認するために、生産テストのバッテリーを誰に通知しますか。
プロダクションリリースの間にどのような変更が存在するかを示すレポートが設定されているため、導入されているすべてのチェックインがわかっています。これにより、データベースの変更やその他の潜在的に破損しているコードなど、未知のデータがポップアップするのを防ぐことができます。
さらに、私たちのBAはTeam System Web Accessを介して作業項目を追跡しており、これらの項目がいつ生産されているかを知っています。
私たちのDBAはデータベース版(GDR)を使用していますが、自動配備の制御レベルには感心していません。私は、Rosarioが製品ラインへのより良い展開制御をもたらすことを期待しています。それまではTFS Deployerとpowershellがあります。
Shogこのデータの重要な部分のスキーマの比較についてのコメントに戻って、彼がVS Data Dudeを使用していないことを知らせてください。 – JoshBerke
よろしくお願い致します;-) – JoshBerke