Visual Studio 2010 Ultimate で TFS を使用してデータベース プロジェクトを操作する際に問題が発生しています。以下は、私が使用するワークフローについて説明しています。
- SQL Server Management Studio を使用して SQL スキーマをローカルで変更しています。
- 次に、Visual Studio データベース プロジェクトを開き、「スキーマ比較」操作を実行します。
- 最新の変更を加えたローカル データベースを "ソース スキーマ" として選択し、"ターゲット スキーマ" をデータベース プロジェクトとして選択します。
- 次に、「スキーマ比較」の結果を見て、変更したくないアイテムの「更新アクション」で「スキップ」を選択します。変更したい項目については、適切な「更新アクション」を選択します。
- 終了したら、[更新の書き込み] コマンドを選択して、変更をデータベース プロジェクトに適用します。
私が抱えている問題は、データベース プロジェクトを見ると、データベース作成スクリプトをコメント アウトすることで、無視するように指示したデータベース テーブルの一部がデータベース プロジェクトで更新されることです。
たとえば、これは次のようになります。
/*CREATE TABLE [SchemaName].[TableName] (
[Col1] BIGINT IDENTITY (1, 20) NOT NULL,
[Col2] INT NULL
);*/
問題は、比較にこのテーブルを無視するように指示したのに、なぜプロジェクトを変更してコードをコメントアウトしたのかということです。