我知道您可以使用SSDT在Visual Studio中比较和同步数据库。但有没有办法比较DB项目中的DB数据与实际DB?
我们目前使用RedGate来同步架构和数据,通常当有人在本地数据库中进行数据更改时,他会将其与redgate项目脚本同步并将其检入GIT,以便每个人都可以将本地数据库与这些redgate脚本同步到是最新的。 RedGate变得太昂贵,我们正在寻找替代品,看起来像Visual Studio有SSDT可以做这些事情。
所以我能够在VS中创建一个数据库项目并从数据库导入模式,所以现在所有开发人员都可以更新模式,但是它没有选项来对数据库数据做同样的事情。没有选项来创建数据脚本(并将它们添加到数据库项目中)以与DB进行比较,正如我所说,它只允许您在DB之间进行数据比较,而不是在DB和DB项目脚本之间进行数据比较,至少这是我发现的远。有没有办法做到这一点,以便我们可以包含数据脚本,并能够与数据库同步?
答案 0 :(得分:0)
您可以在MERGE脚本中检查静态表,并将它们包含在Post Scripts中。 合并语句将确保您的目标表在发布时具有正确的行(在合并中插入/更新/删除将执行此操作)。 为每个表创建一个合并脚本文件,并将它们全部包含在Post Script File中。 唯一的区别/缺点是您无法导入合并脚本,您必须键入代码以使其受版本控制,或者编写生成SQL Merge语句的SP。