本公开涉及软件测试,具体的涉及自动化测试,更具体地涉及一种数据库版本同步方法、装置、设备、存储介质和程序产品。
背景技术:
1、随着业务需求的快速迭代和it架构转型的逐步演进,软件项目的投产时间点成倍增长,且特殊投产时间点越发增多,单一应用往往需要多套测试环境才能够满足多个不同时间点投产项目的测试。但随着测试环境和版本发布的增多,环境维护的工作量大大增加。特别是一些重要应用的数据库版本,由于其数据库表数量多、数据量大,且会在一个版本周期内,由于投产策略的变化而频繁更新,在多套环境间同步数据库版本的工作量复杂、繁琐、且容易出错。如何进行在多套测试环境中进行数据库版本同步成为亟需解决的技术问题。
2、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、鉴于上述问题,本公开提供了一种数据库版本同步方法、装置、设备、存储介质和程序产品。
2、根据本公开的第一个方面,提供了一种数据库版本同步方法,所述方法包括:
3、响应于数据库版本同步指令,获取主测试环境数据库操作语句;
4、对所述主测试环境数据库操作语句进行过滤去重处理,以生成目标操作语句;以及
5、根据所述目标操作语句在目标测试环境数据库中进行回放以完成数据库版本同步。
6、根据本公开的实施例,所述对所述主测试环境数据库操作语句进行过滤去重处理,以生成目标操作语句包括:
7、按照决策树中的预设策略对所述主测试环境数据库操作语句进行去重处理,以生成目标操作语句,其中,所述决策树是根据样本学习预先生成的。
8、根据本公开的实施例,在确定主测试环境数据库操作语句之后,所述方法还包括:
9、根据所述主测试环境数据库操作语句生成全量检查脚本。
10、根据本公开的实施例,所述根据所述主测试环境数据库操作语句生成全量检查脚本包括:
11、根据数据库操作语句类型生成对应的查询语句;以及
12、根据所述查询语句生成全量检查脚本。
13、根据本公开的实施例,在完成数据库版本同步之后,所述方法还包括:
14、执行所述全量检查脚本以确定源数据库和目标数据库比对结果,所述源数据库为主测试环境数据库,所述目标数据库为目标测试环境数据库;以及
15、根据所述比对结果对决策树的预设策略进行迭代更新。
16、根据本公开的实施例,所述根据所述目标操作语句在目标测试环境数据库中进行回放以完成数据库版本同步包括:
17、根据所述目标操作语句生成待执行语句;以及
18、在目标测试环境中执行所述待执行语句。
19、根据本公开的实施例,所述获取主测环境数据库操作语句包括:
20、定期获取预设时间段的主测环境数据库变更日志;以及
21、响应于数据库版本同步指令,根据所述主测环境数据库变更日志确定主测环境数据库操作语句。
22、本公开的第二方面提供了一种测试案例的推荐装置,所述装置包括:
23、获取模块,用于响应于数据库版本同步指令,获取主测试环境数据库操作语句;
24、目标操作语句生成模块,用于对所述主测试环境数据库操作语句进行过滤去重处理,以生成目标操作语句;以及
25、版本同步模块,用于根据所述目标操作语句在目标测试环境数据库中进行回放以完成数据库版本同步。
26、根据本公开的实施例,所述目标操作语句生成模块包括:目标操作语句生成子模块。
27、目标操作语句生成子模块,用于按照决策树中的预设策略对所述主测试环境数据库操作语句进行去重处理,以生成目标操作语句,其中,所述决策树是根据样本学习预先生成的。
28、根据本公开的实施例,在获取模块获取到主测试环境数据库操作语句之后,所述装置还包括:全量检查脚本生成模块。
29、全量检查脚本生成模块,用于根据所述主测试环境数据库操作语句生成全量检查脚本。
30、根据本公开的实施例,在版本同步模块完成数据库版本同步之后,所述装置还包括:比对模块和策略更新模块。
31、比对模块,用于执行所述全量检查脚本以确定源数据库和目标数据库比对结果,所述源数据库为主测试环境数据库,所述目标数据库为目标测试环境数据库;以及
32、策略更新模块,用于根据所述比对结果对决策树的预设策略进行迭代更新。
33、根据本公开的实施例,版本同步模块包括:生成子模块和执行子模块。
34、生成子模块,用于根据所述目标操作语句生成待执行语句;以及
35、执行子模块,在目标测试环境中执行所述待执行语句。
36、根据本公开的实施例,获取模块包括获取子模块和确定子模块。
37、获取子模块,用于定期获取预设时间段的主测环境数据库变更日志;以及
38、确定子模块,用于响应于数据库版本同步指令,根据所述主测环境数据库变更日志确定主测环境数据库操作语句。
39、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述数据库版本同步方法。
40、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数据库版本同步方法。
41、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据库版本同步方法。
42、通过本公开的实施例提供的一种数据库版本同步方法,在收到数据库版本同步指令后,获取主测试环境数据库操作语句,并对所述主测试环境数据库操作语句进行过滤去重处理生成目标操作语句,将目标操作语句在目标测试环境数据库中进行回放,实现数据库版本的同步,相较于相关技术,本公开实施例提供的数据库版本同步方法通过自动录制数据库sql语句,并对sql语句进行过滤,提高数据库版本同步速度,将过滤后的sql语句在目标测试环境中进行回放,从而实现目标测试环境数据库与主测试环境数据库的版本同步。
1.一种数据库版本同步方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述主测试环境数据库操作语句进行过滤去重处理,以生成目标操作语句包括:
3.根据权利要求2所述的方法,其特征在于,在确定主测试环境数据库操作语句之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述主测试环境数据库操作语句生成全量检查脚本包括:
5.根据权利要求4所述的方法,其特征在于,在完成数据库版本同步之后,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标操作语句在目标测试环境数据库中进行回放以完成数据库版本同步包括:
7.根据权利要求1所述的方法,其特征在于,所述获取主测环境数据库操作语句包括:
8.一种数据库版本同步装置,其特征在于,所述装置包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的数据库版本同步方法。