因此,无论好坏,我们都有两个基本上具有相同架构的数据库项目。唯一的区别是数据库2有比数据库1更多的索引。是否有一种简单的方法可以使这两个项目在模式上保持同步,但仍然在数据库2项目中有那些额外的索引?我基本上只想保留Database 2项目中的差异。问题是在进行架构更改时尝试使项目保持同步。我不想在两个地方做出改变。
答案 0 :(得分:1)
如果唯一的变化是额外的索引,复合项目可能是你最好的选择。您可以使您的主项目然后基于该项目并添加索引。 Jamie Thomson在此发表了关于此的博文:http://sqlblog.com/blogs/jamie_thomson/archive/2013/03/10/deployment-of-client-specific-database-code-using-ssdt.aspx
或者,您可以使用部署后脚本和SQLCMD变量仅将这些索引推送到数据库2.它不像复合项目那么简单,但可以在您的情况下工作。
答案 1 :(得分:0)
[假设你的意思是SSDT]
最简单的解决方案可能是使用分支机构。让根分支成为具有额外索引的模式,并使用索引从模式中分支出来。在子分支中进行更改,并将这些更改合并到根目录中。您仍然可以部署任一模式。