私はVisual Studioでデータベースプロジェクトを使用しています。SSDT方法:対象のドロップカラムを無視して.dacpacを展開する
私のシナリオでは、私が提供するデータベースを直感的にカスタマイズする顧客がいます。既存のテーブルにいくつかの列を追加し、新しいテーブルを追加します。
.dacpacの配備時に、私のスキーマに含まれないオブジェクトは除外されません。重要
:
設定DropObjectsNotInSource = FALSEは、表の列のために働いていません。
EDIT
エド私が何か間違ったことをやっている場合は、以下を参照してください。
using (DacPackage dacPackage = DacPackage.Load(DacPacFileName))
{
var dacServices = new DacServices(ConnectionString);
var dacOptions = new DacDeployOptions
{
AdditionalDeploymentContributorArguments = "SqlPackageFilter=KeepTableColumns(*)"
};
dacServices.Deploy(dacPackage, NomeBancoDados, true, dacOptions);
}
は '*' テーブルフィルタで "ALL TABLES" となっていますか?
テーブル名も試しましたが、動作しませんでした。
彼らはあなたが作成したテーブルにカラムを追加している場合は、私はあなたが箱から出してそのことについて多くを行うことができることを知っていません。作成するオブジェクトは間違いなく無視できますが、 "自分の"テーブルを変更せず、独自のテーブルを作成/維持することについて顧客と会話する価値があります。既存の表に新しい列を追加する必要がある場合は、それを開発の一部にする必要があります。注意を払わないとコードを壊す可能性のあるものを簡単に追加できます。 –