2009-11-25 8 views
6

Visual Studio 2010でデータベースプロジェクトを使い始めたばかりですが、DROP TABLEステートメントをインクルードするために差分スクリプトジェネレータを取得する方法が不思議です。テーブルフォルダに新しいテーブルスクリプトを作成すると、差分ファイルが作成され、展開スクリプトにCREATE TABLEステートメントが含まれますが、プロジェクトからそのSQLファイルを削除すると、スクリプトにDROPは挿入されません。Visual Studio 2010データベースプロジェクトでテーブルを削除する

これはストアドプロシージャにも適用されることを確認しました。データベース内の既存のオブジェクトを取り除く方法はありますか?

注:これは、Visual Studio 2008 Team System for Database Developers(Data Dude)GDRにも当てはまると思います。

答えて

14

は、(これらの命令は、VS 2008 GDR2に適用されますが、私はあなたが言ったように、これらは、VS 2010の同一でない場合は同様であろうと信じて)あなたはプロジェクト設定を開き、[配布]タブとチェックに行くことができる

「ターゲット・データベースにあるがデータベース・プロジェクトにはないオブジェクトのDROP文を生成する」というラベルの付いたボックス。

作業の仕方によっては、「データが失われる可能性がある場合は増分展開をブロックする」というチェックボックスをオフにする必要があります。しかし、これは危険なことだと警告しています。あなたがそこにいる間、デプロイメント前にデータベースを自動的にバックアップしたいと思うかもしれません。

+0

ありがとうございます!そこにはちょっとした瞬間があります。私はちょうどそのチェックボックスを逃したと思います。 –

+2

in Visual Studio 2013プロジェクト設定で公開タブも展開タブも見つけられません。データベースを削除すると、テーブルを作成するときにスクリプトは生成されません。 –

+0

@モハメドソリューションエクスプローラでデータベースプロジェクトを右クリックし、**公開**を選択して、**詳細**ボタンをクリックします。新しいウィンドウで、ドロップタブに移動し、最初のオプションをチェックします。**ターゲットにはオブジェクトをドロップしますが、ソースにはドロップしません**。ソースに含まれていないものはすべてデフォルトで削除されるため、削除しないオブジェクトを手動で確認する必要があります。 –

関連する問題