6

私の現在の C# プロジェクトの開発環境は Visual Studio で、SQL Server データベースを使用し、VisualSVN を使用して SVN リポジトリに接続しています。ストアド プロシージャ、ビューなどのリビジョンを管理するためにALTER、SVN クライアントが監視するフォルダーにスクリプトを保存して、これらがリポジトリに含まれるようにします。

このような (現在は古い) 投稿 ( SVN/その他のリポジトリにストアド プロシージャやその他のスクリプトを保持する方法は?およびSQL Server Management Studio 2005 または 2008 用の SVN プラグインはありますか? ) をチェックアウトし、推奨事項を見てきました。これらのツール: http://www.red-gate.com/products/sql-development/sql-source-control/およびhttp://www.zeusedit.com/agent/ssms/ms_ssms.html

私はめったに DB 側のプログラミングを行うプロジェクトで作業することはないので、これが大きな問題になることはありませんでした (何らかの名前付けスキームを持つフォルダー内のダースのスクリプトは、手動で管理するのはそれほど多くありません)。バージョン管理に含まれたことのないビューと 1000 以上のストアド プロシージャ。

私の質問は:

SQL Server コードのバージョニングを管理するために他の人が従うプロセスは何ですか?ここで見逃している、受け入れられた、巧妙な、または明白なアプローチはありますか? 現在、前述のツールのいずれかを購入する方向に傾いていますが、これを行う前にコミュニティからのアドバイスを求めています。

これは、コード ソリューションではなくツールの推奨事項になる可能性があることを理解していますが、これを尋ねる適切な群衆だと思うので、SO に投稿しました。

4

2 に答える 2

2

redgate ツールのようなものを使用し、C# ソース コードを扱うのと同じ方法で SQL データベースを扱うことをお勧めします。手動で ALTER ステートメントを追跡すると、変更の数が増えるにつれて、遅かれ早かれつまずきます..ゼウス編集ツールについては言えませんが、レッドゲートのものを使用したので、それは「うまく機能します」-そして、このようなツールは、移行スクリプトを管理できるため、開発バージョンに一連の変更を加えてから、手動で管理する最大の PITA であるデータ変更を含む、テスト データベースなどを更新する単一の更新スクリプトを生成できます。 .

考慮すべきもう 1 つのことは、変更の数がまれであり、ALTER ステートメントを手動で追跡することができたとしても、他の誰かが同じプロジェクトで作業することになった場合はどうなるかということです。変更スクリプトの管理を誤る可能性がもう 1 つあります。

とにかく、あなたの乗り方を教えてください。幸運を祈ります!

于 2013-02-13T23:58:57.007 に答える
1

私は約 800 以上の db オブジェクトを含むデータベースを維持してきました。あなたが説明したように、私たちは常にデータベースオブジェクトをsvn-watchedフォルダーにスクリプト化しました。この方法にはいくつかの問題がありました。主に、新しいオブジェクトまたは変更されたオブジェクトのスクリプトを作成するのを忘れている人がいます。結局のところ、私たちのプロジェクトにとって大きな問題ではありませんでしたが、あなたのものは違うかもしれません.

私たちはいくつかのツールを調べましたが、それらは常にゼロから始めることを想定しており、10 年近くの歴史を保存したいと考えています。最終的には、テキストベースの手動ソリューションに落ち着くだけです。安くて簡単です。

検討したい別のオプションは、Visual Studio データベース プロジェクトの設定です。すべてのオブジェクトをスクリプト化し、いくつかの展開オプションも提供します。私の意見では、私たちの好みに合わせてあまりにも緊密に統合されていることにうんざりしているということでした。

于 2013-02-14T00:03:21.290 に答える