是否可以从数据库更新SSDT DB项目?

Kal*_*exx 5 visual-studio sql-server-data-tools

我们有两个软件项目,它们都与一个数据库进行通信.现在SQL更新都是在数据库上完成的,它依赖开发人员确保独立更新两组项目以使用最新的数据库模型.使这些事情变得更糟,两个项目都在不同的源控制存储库中的单独解决方案中.

虽然我承认这是一个可怕的情况,但我继承了这种情况,而我的长期目标是在两个应用程序集合中共享的一个共同项目中合并和共享它们之间的(大量)重复逻辑,原因有多种由于关键的截止日期即将到来并且需要迭代地组合它们并将其与其他开发人员安排在一起以免过多地破坏工作,因此现在直接进入该模式是不可行的.

记住这一点,我真的想使用SSDT至少开始将数据库结构置于源代码控制之下并使其更易于管理,因为我将要做的事情有很多数据库更改.

在这种情况下,SSDT的问题是您只能从数据库导入一次.之后,该选项显示为灰色且不可用,这显然是SSDT的设计决定,因为它已在MSDN文档中明确列出.

是否有任何简单的方法来更新我的SSDT项目而无需修改当前项目并在每次有人对数据库结构进行更改时重新创建它?

Ed *_*ott 9

首先是你的权利,这是一个可怕的情况,所以长期改善它的工作!

您可以做两件事,首先您可以使用SSMS"生成脚本"导出所有对象,然后使用SSDT中的导入从脚本导入 - 这不是灰色的.

您可以做的第二件事是使用SSDT中的模式比较手动进行更改,您可以将数据库设置为源和项目作为目标,并选择删除,更新和导入的内容.

埃德