5

私は、9つのデータベースとかなり大きなスキーマを持つ1つのデータベースを含むかなり大きなデータベースプロジェクトを持っています。

このプロジェクトの構築にはかなりの時間がかかり、髪の毛を抜こうとしています。データベースソースを制御したいのですが、ビルドに時間がかかるという理由だけで、チェックインする前に他の開発者がプロ​​ジェクトを使用してデータベースプロジェクトをビルドするのに苦労しています。

それは私たちの仕事をひどく損なっているので、私は代替案を探しています。たぶん、RedgateのSQL Compareで何かできるでしょうか?ここでの唯一の欠点は、構文が検証されないことだと思いますか?誰の考え/提案も大歓迎です。

4

2 に答える 2

2

データベース開発ライフサイクルの一部としてSQLCompareと一緒に機能するように設計された製品であるSQLSourceControlを試すことを検討してください。現時点ではベータ版ですが、機能は完全で、完全リリースに非常に近いものです。

http://www.red-gate.com/products/SQL_Source_Control/index.htm

Visual Studioが現在のデータベースプロジェクトを構築するのにかかる時間と比較して、これがコミットでどのように実行されるかを知りたいと思います。実際にVSでプロジェクトを頻繁にビルドする必要があるため、問題が発生しますか?スキーマのサイズと平均ビルドの長さはどれくらいですか?

于 2010-05-27T21:39:11.557 に答える
0

Dev / live dbの同期を維持する:

これを行う方法はおそらくたくさんありますが、他のユーザーも(ソフトウェアソリューションを含めて)さらに拡大すると確信しています。

私の場合、2つのアプローチを使用します。

(a)スクリプトを実行して、db(ストアドプロシージャ、テーブル、フィールドなど)間の違いを取得します

(b)データベースの変更の厳密なログを保持します(データの変更ではありません)

私の場合、時間の経過とともに半構造化ログを作成してきました。

Client_Details                  [Alter][Table][New Field]
{
    EnforcePasswordChange;
}

Users                       [Alter][Table][New Field]
{
    PasswordLastUpdated;
}

P_User_GetUserPasswordEnforcement           [New][Stored Procedure]
P_User_UpdateNewPassword                [New][Stored Procedure]
P_User_GetCurrentPassword               [New][Stored Procedure]
P_Doc_BulkDeArchive                     [New][Stored Procedure]

タブを無視してください、マークダウンはそれを台無しにしました。

しかし、あなたは一般的な要点を理解します。

99%の確率で、必要なのはログだけです。

于 2010-05-27T14:44:13.143 に答える