2

ソース管理からのストアドプロシージャ/ビュー/関数/テーブルの変更の展開を自動化するためのいくつかの「ベストプラクティス」を探しています。私はStarTeam&ANTを使用しているので、ラベリングは処理されます。私が探しているのは、ソースからのこれらのオブジェクトのプルを自動化する方法です。必ずしもStarTeamである必要はありません。

最終的に、実行、チェックイン、およびラベル付けできる1つのスクリプトを作成したいと思います。

私は誰かにそれを書くように求めているのではありません-過去にうまくいった(またはうまくいかなかった)いくつかのアイデアやアプローチだけです。

私は混乱を一掃しようとしていますが、これをできるだけ「正しく」近づけたいと思っています。

テーブル/ビュー/関数などをStarTeamの個々のファイルに保存しており、DBはSQL2K5です。

4

2 に答える 2

4

redgate ( http://www.red-gate.com/ ) の SQL Compare を使用します。

本番データベース、開発データベースがあり、各開発者は独自のデータベースを持っています。

開発データベースは、開発者が変更をチェックインするときにデータベースに加えた変更と同期されます。

開発者は、同期スクリプトと、SQL Compare によって生成された比較レポートもチェックインします。

アプリケーションをデプロイするときは、SQL Compare を使用して開発データベースを本番データベースと同期するだけです。

私たちのアプリケーションは社内でのみ使用するため、これはうまくいきます。これがあなたのシナリオでない場合は、SQL Packager (同じく redgate から) を調べます。

于 2008-09-09T19:23:19.177 に答える
1

ビュー、プロシージャ、およびトリガー(自由に再作成できるオブジェクト)をテーブルから分離することを好みます。ビュー、プロシージャ、およびトリガーについては、それらをチェックアウトして最新のものを再作成するジョブを作成するだけです。

テーブルの場合、1行のデータベースバージョンテーブルが必要です。その表を使用して、適用されていない新しい更新を判別してください。次に、各更新が適用され、バージョン番号が更新されます。更新が失敗した場合は、その更新のみを確認する必要があり、以前の更新が二度と行われないことを確認して再実行できます。

于 2008-09-09T19:08:57.353 に答える