System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 脚本生成方法、装置、设备及存储介质制造方法及图纸_技高网

脚本生成方法、装置、设备及存储介质制造方法及图纸

技术编号:40080719 阅读:21 留言:0更新日期:2024-01-17 02:41
本发明专利技术涉及计算机软件技术领域,公开了一种脚本生成方法、装置、设备及存储介质,该方法包括:按环境及数据库维度对待执行sql文件进行合并获得汇总文件;通过历史执行文件对汇总文件进行差异对比,获得待执行增量文件;根据待执行增量文件更新待执行sql工单;基于待执行sql工单调用待执行增量文件,并生成脚本更新信息。由于本发明专利技术通过对待执行sql文件进行合并汇总获得汇总文件,可根据汇总文件差异对比出各环境的待执行增量文件,最后基于识别出的待执行增量文件自动生成脚本更新信息,避免了传统的手动同步方式因迭代频率等因素,导致迭代需求涉及的数据库变更sql遗漏而花费大量时间的情况,从而提高了工作效率。

【技术实现步骤摘要】

本专利技术涉及计算机软件,尤其涉及一种脚本生成方法、装置、设备及存储介质


技术介绍

1、结构化查询语言(structured query language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。而数据变更一般作用在数据库系统上,如新建菜单,修改角色的权限信息等,会从数据库系统导出变更数据的sql脚本。在项目研发过程中,为了保障需求开发、测试、生产环境等多套数据库模型及基础数据一致,需定时或不定时将每个迭代功能涉及的数据库变更通过手工方式同步至各个环境。

2、但传统的手工同步的方式会因迭代频率、执行人员工作方式(遗忘、遗漏等多种因素)的原因,导致迭代需求涉及的全部或部分数据库变更sql执行遗漏,使得多套环境的数据库模型及基础数据不一致,且后期找出差异并同步差异的工作会消耗大量时间,导致效率过低。

3、上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。


技术实现思路

1、本专利技术的主要目的在于提供了一种脚本生成方法、装置、设备及存储介质,旨在解决传统的手动变更sql脚本的方式会因迭代频率等外部原因导致迭代需求涉及的全部或部分数据库变更sql执行遗漏,消耗大量人力物力,导致效率过低的技术问题。

2、为实现上述目的,本专利技术提供了一种脚本生成方法,所述方法包括以下步骤:

3、按环境及数据库维度对待执行sql文件进行合并,获得所述待执行sql文件对应的汇总文件;

4、通过历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件;

5、根据所述待执行增量文件更新所述待执行sql文件对应的待执行sql工单;

6、基于所述待执行sql工单调用所述待执行增量文件,并生成所述待执行增量文件对应的脚本更新信息。

7、可选地,所述通过历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件,包括:

8、获取所述待执行sql文件的查询数据,所述查询数据包括分支名、迭代需求单号和执行环境;

9、根据所述分支名、所述迭代需求单号和所述执行环境对本地sql工单表进行查询,并根据查询结果判断所述本地sql工单表是否存在前次sql执行信息;

10、若是,则通过所述前次sql执行信息和历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件。

11、可选地,所述若是,则通过所述前次sql执行信息和历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件,包括:

12、在所述本地sql工单表中存在所述前次sql执行信息时,根据所述前次sql执行信息获取前次执行路径;

13、根据所述前次执行路径从云服务器的历史执行文件中获得所述前次sql执行信息对应的前次全量sql文件;

14、将所述前次全量sql文件与所述汇总文件进行差异对比,获得待执行增量文件。

15、可选地,所述根据查询结果判断所述本地sql工单表是否存在前次sql执行信息之后,还包括:

16、在所述本地sql工单表中不存在所述前次sql执行信息时,判定所述待执行sql文件的执行状态为首次执行状态;

17、基于所述首次执行状态将所述汇总文件作为待执行增量文件;

18、相应的,所述根据所述待执行增量文件更新所述待执行sql文件对应的待执行sql工单,包括:

19、根据所述待执行增量文件和所述首次执行状态更新所述待执行sql文件对应的待执行sql工单。

20、可选地,所述环境及数据库维度包括部署环境维度和数据库结构维度;所述按环境及数据库维度对待执行sql文件进行合并,获得所述待执行sql文件对应的汇总文件,包括:

21、根据sql迭代需求在项目主干分支中创建对应的需求分支;

22、根据所述需求分支从项目源码库中获取待执行sql文件;

23、按所述部署环境维度和所述数据库结构维度对所述待执行sql文件进行合并,获得所述待执行sql文件对应的汇总文件。

24、可选地,所述根据所述待执行增量文件更新所述待执行sql文件对应的待执行sql工单,包括:

25、将所述汇总文件和所述待执行增量文件上传至云服务器,获得上传路径信息;

26、根据所述上传路径信息更新所述待执行sql文件对应的待执行sql工单;

27、相应的,所述基于所述待执行sql工单调用所述待执行增量文件,并生成所述待执行增量文件对应的脚本更新信息,包括:

28、基于所述待执行sql工单的上传路径信息从所述云服务器调用所述待执行增量文件,并生成所述待执行增量文件对应的脚本更新信息。

29、可选地,所述基于所述待执行sql工单调用所述待执行增量文件,并生成所述待执行增量文件对应的脚本更新信息之后,还包括:

30、根据所述脚本更新信息更新所述待执行sql工单,所述脚本更新信息包括执行环境和执行结果;

31、在sql迭代需求为持续集成时,判定所述执行结果是否为成功结果;

32、若是,则对比持续集成环境与所述执行环境,获得环境差异信息;

33、根据所述环境差异信息和所述待执行增量文件对所述持续集成环境进行同步更新。

34、此外,为实现上述目的,本专利技术还提出一种脚本生成装置,所述装置包括:

35、文件合并模块,用于按环境及数据库维度对待执行sql文件进行合并,获得所述待执行sql文件对应的汇总文件;

36、差异对比模块,用于通过历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件;

37、工单更新模块,用于根据所述待执行增量文件更新所述待执行sql文件对应的待执行sql工单;

38、脚本更新模块,用于基于所述待执行sql工单调用所述待执行增量文件,并生成所述待执行增量文件对应的脚本更新信息。

39、此外,为实现上述目的,本专利技术还提出一种脚本生成设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的脚本生成程序,所述脚本生成程序配置为实现如上文所述的脚本生成方法的步骤。

40、此外,为实现上述目的,本专利技术还提出一种存储介质,所述存储介质上存储有脚本生成程序,所述脚本生成程序被处理器执行时实现如上文所述的脚本生成方法的步骤。

41、本专利技术按环境及数据库维度对待执行sql文件进行合并,获得所述待执行sql文件对应的汇总文件;然后通过历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件;接着根据所述待执行增量文件更新所述待执行sql文件对应的待执行sql工单;最后基于所述待执行sql工单调用所述待执行增量文件,并生成所述待执行增量文件对应的脚本更新信息。由于本专利技术通过对待执行sql文件进行合并汇总获得汇总文件,可根据汇总文件差异对比出各环境的待执行增量文件,最后基于本文档来自技高网...

【技术保护点】

1.一种脚本生成方法,其特征在于,所述脚本生成方法包括:

2.如权利要求1所述的脚本生成方法,其特征在于,所述通过历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件,包括:

3.如权利要求2所述的脚本生成方法,其特征在于,所述若是,则通过所述前次sql执行信息和历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件,包括:

4.如权利要求2所述的脚本生成方法,其特征在于,所述根据查询结果判断所述本地sql工单表是否存在前次sql执行信息之后,还包括:

5.如权利要求1所述的脚本生成方法,其特征在于,所述环境及数据库维度包括部署环境维度和数据库结构维度;所述按环境及数据库维度对待执行sql文件进行合并,获得所述待执行sql文件对应的汇总文件,包括:

6.如权利要求5所述的脚本生成方法,其特征在于,所述根据所述待执行增量文件更新所述待执行sql文件对应的待执行sql工单,包括:

7.如权利要求1-6任一项所述的脚本生成方法,其特征在于,所述基于所述待执行sql工单调用所述待执行增量文件,并生成所述待执行增量文件对应的脚本更新信息之后,还包括:

8.一种脚本生成装置,其特征在于,所述装置包括:

9.一种脚本生成设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的脚本生成程序,所述脚本生成程序配置为实现如权利要求1至7中任一项所述的脚本生成方法的步骤。

10.一种存储介质,其特征在于,所述存储介质上存储有脚本生成程序,所述脚本生成程序被处理器执行时实现如权利要求1至7任一项所述的脚本生成方法的步骤。

...

【技术特征摘要】

1.一种脚本生成方法,其特征在于,所述脚本生成方法包括:

2.如权利要求1所述的脚本生成方法,其特征在于,所述通过历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件,包括:

3.如权利要求2所述的脚本生成方法,其特征在于,所述若是,则通过所述前次sql执行信息和历史执行文件对所述汇总文件进行差异对比,获得待执行增量文件,包括:

4.如权利要求2所述的脚本生成方法,其特征在于,所述根据查询结果判断所述本地sql工单表是否存在前次sql执行信息之后,还包括:

5.如权利要求1所述的脚本生成方法,其特征在于,所述环境及数据库维度包括部署环境维度和数据库结构维度;所述按环境及数据库维度对待执行sql文件进行合并,获得所述待执行sql文件对应的汇总文件,包括:

6.如权...

【专利技术属性】
技术研发人员:杨建华张耀武沈焕锐刘家豪
申请(专利权)人:中邮消费金融有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1