我们正在尝试维护两个SQL环境,比如说开发和暂存。在暂存时,我对一个名为SProc1的存储过程进行了错误修复,同时开发人员对同一sp进行了一些更改。我需要将bug修复应用于开发而不会丢失开发中的更改。
在Visual Studio 2015上使用SQL架构比较不进行代码合并,只是直接替换版本。
我的问题是,市场上有哪些其他工具可以维持这种情况?
答案 0 :(得分:4)
迟到的答案,但我希望它对新读者有用
我最近偶然发现了一个新的免费工具ApexSQL Compare,它提供文件和文件夹比较和合并。工具可以集成到SSMS / VS中,如下所示:
此工具将创建合并脚本,其中包括错误修复和同一sp上的更改,但脚本只能手动执行。另外,要手动执行此脚本,应将CREATE PROCEDURE语句更改为ALTER PROCEDURE
答案 1 :(得分:3)
这里没有正确答案。您在环境之间创建了冲突,解决此问题的唯一方法是比较每个版本的来源并手动合并差异。
虽然Stack Overflow严格偏离主题,但我建议使用名为Beyond Compare的应用程序进行各种文件比较。它确实在文本比较方面表现出色。
或者,您已经提到过您正在使用TFS。假设已将开发更改签入到开发分支,您可以为此修补程序创建一个分支,尽管从之前的签入中,应用您的更改,然后合并回来。这将产生一个需要根据Beyond Compare手动纠正的冲突,但之后您将在版本控制中保留冲突历史记录。
编辑:以下gif更好地解释了这个过程: