KOCA运维监控项目作为一个平台类的项目需要支持多数据库,而且部署数据库脚本需要支持增量和全量脚本交付。虽然开发有多种方式也验证数据库脚本的一致行,但在测试看来不同类型库和不同类型的脚本均需要经过测试。
为提高测试效率保证测试质量,采用了数据库对比的工具来验证增量脚本和全量脚本执行后的数据库表结构,从而减少功能上的重复回归。
该测试工具是开发人员对开源工具包进行二次开发,可支持mysql,oracle数据库表及表结构一致性对比。
当前测试场景:相同类型的2个数据库一个跑增量脚本一个跑全量脚本,对比2个脚本结果。
工具包下载
下载地址:http://119.91.201.162:48080/tools/database-compare-tool-1.0.0-bin.tar.gz
工具部署配置
window 机器配置部署
- 解压工具包
- 配置访问端口和要对比的数据库:
修改配置文件./conf/application.yml,替换源数据库和目标数据库的url,username,password
修改port端口号
server:
port: 9999
koca:
jdbc:
mapper:
enabled: true
defaultDataSourceId: source
dataSources:
- id: source
pool:
url: jdbc:mysql://10.202.63.26:3306/koca_dashboard_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowMultiQueries=true&rew
riteBatchedStatements=true
username: koca_test
password: koca_test
initialSize: 5
minIdle: 10
maxActive: 30
maxWait: 60000
- id: target
pool:
url: jdbc:oracle:thin:@10.202.63.26:1521/orclpdb
username: koca_dashboard_test
password: koca_dashboard_test
initialSize: 5
minIdle: 10
maxActive: 30
maxWait: 60000
3. 启动工具
双击startup.bat 启动文件
linux机器配置部署
- 工具包上传到服务器,通过解压命令解压安装包
tar -zxvf database-compare-tool-1.0.0-bin.tar.gz - 配置访问端口和要对比的数据库:
与window配置方式一致 - 启动工具:
sh ./bin/startup.sh
工具使用
- 启动成功后,访问地址 ip:port ,ip 是部署的主机,port是application.yml文件中配置的端口
启动后的页面如下:
- 点击 左侧的 列表 菜单,请求数据库表结构对比,页面会处于刷新中,当对比完毕会展示对比结果
相同表列表:这里展示在源库和目标库中都存在的表,是否一样 为true 2个库的表结构一致,为false 2个库的表结构不一致,不一致的表会展示在最前面。
测试库独有:表在源库有,目标库没有
正式库独有:表在源库没有,目标库有