[发明专利]一种基于Groovy动态执行数据库脚本的方法、介质和设备在审
申请号: | 202310364769.0 | 申请日: | 2023-04-07 |
公开(公告)号: | CN116627583A | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 谢德寿;陈小雷;牛京杰;查道鹏 | 申请(专利权)人: | 博思数采科技发展有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F16/21 |
代理公司: | 福州市景弘专利代理事务所(普通合伙) 35219 | 代理人: | 郭鹏飞 |
地址: | 350200 福建省福州市长乐*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 groovy 动态 执行 数据库 脚本 方法 介质 设备 | ||
本申请涉及一种基于Groovy动态执行数据库脚本的方法、介质和设备,所述方法包括:根据Groovy脚本范本实例预先将待执行的数据库脚本转换为可执行的Groovy脚本;预先在配置文件中配置运行参数,运行参数包括数据源信息和Groovy脚本的存储目录;加载配置文件,获取运行参数,初始化数据源信息,加载存储目录下的Groovy脚本,并记录各个Groovy脚本的存储路径和文件名信息,并根据文件名信息按预定排列规则对Groovy脚本进行排序,得到Groovy脚本信息列表;加载Groovy脚本信息列表,依次执行Groovy脚本信息列表中的Groovy脚本。上述方案通过Groovy动态脚本语言,实现数据库脚本的动态执行,使得脚本更新更加方便快捷、便于维护。
技术领域
本发明涉及计算机数据库技术领域,具体涉及一种基于Groovy动态执行数据库脚本的方法、介质和设备。
背景技术
随着计算机技术的发展,数据库技术也相应得到了发展。在技术信息系统功能越来越庞大、涉及底层服务越来越多的情况下,每次系统的升级维护就愈发变得困难,尤其涉及到数据库表的升级和维护,数据库表升级通常会涉及到表新增、表字段修改等DDL操作,也会涉及如业务数据或配置修改及新增等DML操作。传统方式是每次升级维护时,研发人员将本次升级涉及到的脚本进行整理和汇总成sql文件,跟随发版提测邮件一并带出,运维人员一次进行sql文件的手动执行。
目前,也有一些类似Flyway、Liquibase等数据库版本管理工具,但它们都是基于服务本身而设计的,需要内嵌在服务中,且升级脚本也放在服务包中,随着服务升级迭代,脚本包会越来越多,服务包会越来越臃肿,不好维护,且运行这些脚本是在服务启动后进行,一旦执行失败,服务无法启动,只能重新打包或者修改脚本后进行,不够灵活。
因此,有必要提供及实现一种动态可灵活配置和修改的,同时具备支持动态编程实现较为复杂场景的脚本更新,以实现数据库脚本的快速升级。
发明内容
鉴于上述问题,本发明提供了一种基于Groovy动态执行数据库脚本的方法、存储介质和电子设备,用以解决目前的数据库脚本更新不够灵活、不便于维护的问题。
为实现上述目的,在第一方面,本发明提供了一种基于Groovy动态执行数据库脚本的方法,所述方法包括:
根据Groovy脚本范本实例预先将待执行的数据库脚本转换为可执行的Groovy脚本;
预先在配置文件中配置运行参数,所述运行参数包括数据源信息和Groovy脚本的存储目录;
加载所述配置文件,获取所述运行参数,初始化所述数据源信息,加载所述存储目录下的Groovy脚本,并记录各个所述Groovy脚本的存储路径和文件名信息,并根据所述文件名信息按预定排列规则对所述Groovy脚本进行排序,得到Groovy脚本信息列表;
加载所述Groovy脚本信息列表,依次执行所述Groovy脚本信息列表中的Groovy脚本。
作为一种可选的实施例,所述运行参数还包括标准数据库脚本模版文件的存储目录;
所述依次执行所述Groovy脚本信息列表中的Groovy脚本包括:
读取标准数据库脚本模版文件,根据所述Groovy脚本对所述模板文件的参数进行填充替换,使得所述Groovy脚本转换为标准可执行的数据库脚本;
执行所述标准可执行的数据库脚本。
作为一种可选的实施例,所述运行参数还包括错误日志目录;
所述方法还包括:
在所述Groovy脚本转换为标准可执行的数据库脚本的过程中,若发生异常记录第一异常信息,并将所述第一异常信息输出至错误日志目录中,所述第一异常信息包括第一异常原因和对应的Groovy脚本信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于博思数采科技发展有限公司,未经博思数采科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310364769.0/2.html,转载请声明来源钻瓜专利网。