概述
对于企业软件开发或实施人员,在软件实施过程中,经常会遇到了这么一个问题,我们在客户那边安装了整个ERP程序并且向数据库中导入了客户提供给我的基础资料,程序进入试运行阶段,在试运行期间,客户反映出程序的各种问题,需要提交给公司去纠正这些问题,在纠正问题的时候伴随的问题的解决,程序开发人员向数据库中添加了数据库表或者向已有表中添加了字段,这个时候开发员没有一个良好的习惯用SQL语法来操作这些添加,而是直接在数据库设计器中添加,在实施人员给客户更新程序的时候需要重新还原数据库,导致之前已经导入的基础资料需要重新做处理,做了重复工作量,作为现场实施人员为了保持开发数据库和客户实际生产数据库结构的一致,是一件非常繁琐的工作。
常会碰到如下的问题:
如何发现两个数据库之间结构不一样?多了或者少了字段?或者数据类型不同?
两个数据库之间的基础数据不一样了,需要找出多了或少了的数据,或者,被修改过的数据,进行数据库之间的同步。
工具使用方法
需要两个数据库进行比较,那么我们需要两个不同的数据库甚至连接两个不同的数据库服务器,针对不同的数据库服务器中的两个数据库进行表结构比对,包括数据库表结构、函数、存储过程等,也可以对表中的数据进行比对。
主要针对SQLServer、Postgresql、MySQL、MariaDB,可以快速对比两个数据库表之间的差异,并生成脚本。
1、比较数据库间表结构对比,并形成可执行的SQL语句,可以比较字段的多少、字段类型、是否为空等;
2、比较视图、存储过程、函数等;
3、对比数据,并生成insert、update等语句。
交流
可以加入作者的群 347591510 进行咨询和交流,具体的入群方法在软件界面。
下载地址
下载地址:http://www.vidarsoft.cn/download/SQLDiff.zip
csdn下载地址:https://download.csdn.net/download/swordmanli/10253795
运行环境
1、可执行程序SQLDiff.exe
2、需要.net framework4.0,如果没有环境,请先下载安装
主界面:
具体操作过程
设置数据源
下载完毕后解压。
运行:
设置数据源:
数据源支持MSSqlServer、MySql、Postgresql、MariaDB
点确定后,可以显示两个数据库之间差异的表,如下图红色行中显示。
表结构对比
点击行后面的比结构,可以详细比较表结构之间的差异,并形成sql脚本,用户点确定后执行。
点确定后,即可执行成功,目标表中的表结构也将改变。
表中字段增减也可以同步,如下图:
如上图中,dept表中的字段差异,也可以检查出来,并形成脚本进行同步。
数据对比
对比表中数据,如果有差异,可以生成脚本,如将数据生成insert语句,或update语句。
选择某张表,然后,点【比数据】,如下图。
然后,就可以看到如下图,有区别的数据用红色标识,并且会将两行数据放在一起对比,并用颜色区分出差异数据。
生成修改的脚本,如下图。