2010-12-02 18 views
7

は、我々は多くの環境複数のバージョンのデータベースをどのように管理していますか?

を持って

トランク(DEV統合) - >のdevel(チーム・テスト) - > QA(回帰テスト) - >ライブ(顧客用)

それぞれのコードで動作する独自のデータベースを持っていますその環境で

データベースの内容の一部はメタデータであり、一部はデータです。たとえば、レポートを作成する場合、レポートを作成するために選択できる列はメタデータですが、ユーザーがすでに作成したレポートはデータです。メタデータは、テストされる際に、プロモーションチェーン(トランクに導入され、devel-> qa-> live)、コードとともに流れます。しかし、データは宣伝されません。さらに、特定の環境内のデータは、消去または破損してはならず、その環境が促進された後も継続して動作してはなりません。

このような設定を自動化するには、管理して同等に重要な戦略がありますか?

私は.NET/C#/ SQL Serverを使用していますが、この問題は一般的であり、多数の開発者が作業している成熟したアプリケーションでは全面的に処理しなければならないと思いますユーザーはその上に生成します。

答えて

3

ご覧になりたい製品はRed Gate's SQL Source Controlです。私たちはまだそれを評価していますが、確かにあなたの要件の少なくとも一部を処理しようとしています。残りのレッドゲートの製品もまたあなたのために便利です。

+0

特に静的データをトランザクションデータとは異なる方法で処理する方法に興味がある場合は、ここで説明しているSQLソースコントロールv2.0 EAを試してみてください。http://www.red-gate.com/MessageBoard/ viewtopic.php?t = 12298 –

4

私が思うところでは、Visual StudioのTeam Suiteエディションのデータベースバージョン管理ツールは完全にこの作業に対応しています。スキーマ比較ツール(DBからDB、プロジェクトからDBなど)、データ生成、人口、さらにはストアドプロシージャの単体テストまでが含まれます。

関連する問題