1

データベースをバージョン管理に含めることができるようになることを期待して、SQL Server 2008データベース プロジェクトをソリューションに追加しました。Visual Studio 2010 Professional Edition

各データベース オブジェクトのスキーマ ファイルをバージョン管理にコミットできますが、これらのスキーマ ファイルはすべてのスクリプト オブジェクトをalterではなくcreateとしてファイルするため、変更を取得してデータベースを更新する大学には適していません。

これは、データベースをソース管理に入れる良い方法ですか?

そして、すべてのテーブルを削除して再作成することに関連するすべてのデータを失うことなく、データベースを特定のリビジョンに更新するために実際にそれを使用するには、どのようなワークフローになるでしょうか?

更新: Premium および Ultimate バージョンには、これを簡単にするスキーマ比較ツールがあります。これは、Professional には存在しません。簡単な手動の回避策はありますか?

4

2 に答える 2

1

データベース プロジェクトには、SQL オブジェクトを含む SQL スクリプトを生成するデプロイ手順 (私の VS2010 の Professional コピーに含まれています) があります。

ここで重要なことは、プロジェクト、プロパティ、goto deploy を右クリックし、ターゲット データベースの設定を特定のデータベースに変更すると、デプロイ時にその特定のデータベースの変更スクリプトが生成されるため、プロジェクト内のオブジェクトと一致することです (および理論的には既存のデータを保持するなど)。

SQLスクリプトを生成するか、データベースを直接更新することができます。スクリプトを生成することは、おそらくより良い考えです:)

于 2012-01-13T06:53:53.290 に答える
1

VS 2010 Professional でこれを実行できるかどうかはわかりませんが、VS 2010 Premium では、プロジェクトとデータベースの間でスキーマ比較 (データ -> スキーマ比較 -> 新しいスキーマ比較) を実行し、いずれかの変更を更新できます。方向。

プロジェクトからデータベースに移動するとき、VS は、既存のデータを削除する前に既存のデータを一時テーブルにコピーするスクリプトを生成します。

于 2011-10-11T14:15:56.333 に答える