我在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”吗?
我也尝试了一个表名,但它没有用。
答案 0 :(得分:1)
我为这个场景写了这个:
https://agilesqlclub.codeplex.com
你可以"保持"如果对象不存在则会部署,但如果有更改则不会部署,或者#34;忽略"完全忽略。
您可以在类型或名称(正则表达式)上执行此操作
版