Visual Studio 2013 - DB Data Compare



我知道您可以使用SSDT在Visual Studio中的数据库之间比较和同步数据。但是有没有办法比较数据库项目中的数据库数据与实际数据库?

我们目前使用 RedGate 来同步模式和数据,通常当有人在本地数据库中进行数据更改时,他会将其与 redgate 项目脚本同步并将它们签入 GIT,以便每个人都可以将他们的本地数据库与这些 redgate 脚本同步以保持最新状态。RedGate变得太昂贵了,我们正在寻找替代方案,看起来Visual Studio有SSDT可以做这些事情。

所以我能够在 VS 中创建一个数据库项目并从数据库导入架构,所以现在如果模式发生变化,所有开发人员都是最新的,但它没有对数据库数据执行相同操作的选项。没有创建数据脚本(并将它们添加到数据库项目)以与数据库进行比较的选项,正如我所说,它只允许您在数据库之间进行数据比较,而不是在数据库和数据库项目脚本之间进行数据比较,至少这是我到目前为止发现的。有没有办法做到这一点,以便我们可以包含数据脚本并能够将它们与数据库同步?

您可以签入静态表的合并脚本,并将它们作为后脚本包含在内。merge 语句将确保目标表在发布时具有正确的行(合并中的插入/更新/删除将执行此操作)。为每个表创建一个合并脚本文件,并将它们全部包含在发布脚本文件中。唯一的区别/缺点是您无法导入到合并脚本中,您必须键入代码才能对其进行版本控制,或者编写生成 SQL Merge 语句的 SP。

最新更新