SSDT如何:部署.dacpac忽略目标

时间:2016-07-01 17:03:32

标签: database visual-studio deployment sql-server-data-tools

我在Visual Studio中使用数据库项目。

在我的场景中,我有客户直观地定制我为他们提供的数据库,例如在现有表中添加一些列,添加新表...

在部署.dacpac时,如何排除不属于我的架构的这些对象?

重要的:

设置DropObjectsNotInSource = FALSE不适用于表格列。

修改

爱德,请看看我做错了什么:

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”吗?

我也尝试了一个表名,但它没有用。

1 个答案:

答案 0 :(得分:1)

我为这个场景写了这个:

https://agilesqlclub.codeplex.com

你可以"保持"如果对象不存在则会部署,但如果有更改则不会部署,或者#34;忽略"完全忽略。

您可以在类型或名称(正则表达式)上执行此操作