最近,我加入了一个团队,负责配置和维护第三方应用程序,该应用程序具有“现成”的核心功能。在过去的几年里,已经有很多的配置和宏编程来满足我们组织的要求。
一个由3人组成的团队全职工作,使用内置宏语言添加解析脚本(读取导入文件)和子程序,还配置条形码标签,用户屏幕,菜单,报告,工作流程等。此配置编程全部存储在SQL Server数据库中,大约200多个特定于此应用程序的表(SUBROUTINE,FORMULATION_TEMP,STORAGE_CONDITIONS,PARSING_SCRIPTS,FOLDER_TEMPLATE等)。
该应用程序仅提供基本的变更管理支持,因此每次我们处理其他功能时,我们都会仔细跟踪电子表格中的每个更改,以便我们知道将哪些内容部署到接受和生产环境。
这当然被证明是不够的,因为有时会有一个缺失的配置,生产中的关键错误修正不会恢复到开发等。因此,现在开发和生产之间存在许多细微差别。
为了使事情变得更复杂,某些表包含使用ascii文本“
”存储在单行中的宏代码。作为换行符,所以要看到真正的差异,你仍然需要在编辑器中打开它。此外,几乎所有表都有两个字段CHANGED_BY / CHANGED_ON,这些字段并不重要,因为内置更改管理工具会在导入(!)时用当前日期和用户覆盖这些值。
我的问题: 是否有工具来比较一组特定表的两个数据库的数据,同时忽略这些表中的某些字段(结构是相同的)?而且,理想情况下,也可以事先在某些字段上进行一些字符串替换吗?
我们已经有了Redgate SQL-Compare,但我们只购买了一个许可证来比较结构,而不是数据。我们可以购买许可证,但我怀疑这会给出一个可行的比较。我们正在考虑制作自己的自定义比较实用程序。