CN114237699A - 一种配置脚本的导出方法、装置及存储介质 - Google Patents
一种配置脚本的导出方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114237699A CN114237699A CN202210168708.2A CN202210168708A CN114237699A CN 114237699 A CN114237699 A CN 114237699A CN 202210168708 A CN202210168708 A CN 202210168708A CN 114237699 A CN114237699 A CN 114237699A
- Authority
- CN
- China
- Prior art keywords
- target
- sql statement
- demand
- configuration record
- exporting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种配置脚本的导出方法、装置及存储介质,用于提高获取目标配置脚本sql文件的效率及准确率。本申请方法包括:设置预设拦截规则,预设拦截规则为根据数据定义语言的类型拦截、根据表名拦截规则拦截及根据数据操纵语言的类型拦截;根据设置指令设置目标版本及目标需求单号,目标版本与目标需求单号关联,目标需求单号与目标需求业务绑定;若检测到目标需求业务的低代码开发完成指令,则获取目标需求单号对应的第一sql语句;根据预设拦截规则拦截第一sql语句获取第一目标sql语句;将第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;根据目标导出指令及第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种配置脚本的导出方法、装置及存储介质。
背景技术
当下,在云计算技术向全栈云和智能云发展的过程中,低代码开发甚至是无代码开发时一个重要的发展方向,其具有上手快、开发快、运维快等特点,使得低代码开发技术越来越流行。
但是,在使用低代码进行开发时,不可避免的会遇到一些问题。低代码图形化界面的操作最终体现在数据库中的各种配置数据,例如:表单配置数据、报表配置数据等。同一项目不同的环境中,如开发环境、测试环境或生产环境,针对同一需求,需要业务人员在不同的环境中都进行一遍目标表单的配置。但是因为业务配置人员不同或同一人员操作错误等均会导致目标表单在各个环境中不一致。当前主流的解决方法为,以某一环境为基础由开发人员手工整理出相应的数据库配置脚本文件,再在其他需要同步配置的环境执行该配置脚本文件,但是该方法人为操作的效率低,且出错率较高。
发明内容
本申请提供了一种配置脚本的导出方法、装置及存储介质,用于提高获取目标配置脚本sql文件的效率及准确率。
本申请第一方面提供了一种配置脚本的导出方法,包括:
设置预设拦截规则,所述预设拦截规则为根据数据定义语言的类型拦截、根据表名拦截规则拦截及根据数据操纵语言的类型拦截;
根据设置指令设置目标版本及目标需求单号,所述目标版本与所述目标需求单号关联,所述目标需求单号与目标需求业务绑定;
若检测到所述目标需求业务的低代码开发完成指令,则获取所述目标需求单号对应的第一sql语句;
根据所述预设拦截规则拦截所述第一sql语句获取第一目标sql语句;
将所述第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;
根据目标导出指令及所述第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
可选地,在所述生成目标配置脚本sql文件之后,所述方法还包括:
在目标环境执行所述目标配置脚本sql文件。
可选地,所述目标环境为开发环境、测试环境或生产环境。
可选地,所述根据所述预设拦截规则拦截所述第一sql语句获取第一目标sql语句包括:
预编译所述第一sql语句获取目标数据定义语言的类型、目标表名及目标数据操纵语言的类型;
若所述目标数据定义语言的类型、目标表名或目标数据操纵语言的类型符合所述预设拦截规则,则获取所述目标数据定义语言及所述目标数据操纵语言对应的第一目标sql语句。
可选地,所述将所述第一目标sql语句拆解为第一目标需求配置记录,并存入数据库包括:
若所述目标数据定义语言的类型为create、alter或drop,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标数据定义语言的类型及所述第一目标sql语句,并存入数据库;
若所述目标数据操纵语言的类型为delete,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标数据操纵语言的类型及第一目标sql语句,并存入数据库;
若所述目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若所述主键值为空,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标表名、所述目标数据操纵语言的类型及所述第一目标sql语言,并存入数据库;
若所述目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若所述主键值不为空,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标表名、所述目标数据操纵语言的类型、所述主键列及所述主键值,并存入数据库。
可选地,所述根据目标导出指令及所述第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件包括:
可选地,若所述目标导出指令为根据目标版本导出,则按照存入时间升序查询所述目标版本所关联的目标需求单号;
按照存入时间升序查询所述目标需求单号对应的第一目标需求配置记录;
将所述目标版本、所述目标需求单号及所述第一目标需求配置记录根据查询结果按顺序转化为第二目标需求配置记录,并将所述第二目标需求配置记录与所述第一目标需求配置记录合并为第三目标需求配置记录;
根据所述第三目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
可选地,所述根据目标导出指令及所述第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件包括:
若所述目标导出指令为根据目标需求单号导出,则按照存入时间升序查询所述目标需求单号对应的第一目标需求配置记录;
查询所述目标需求单号所关联的目标版本;
将所述目标版本、所述目标需求单号及所述第一目标需求配置记录根据查询结果按顺序转化为第四目标需求配置记录,并将所述第四目标需求配置记录与所述第一目标需求配置记录合并为第五目标需求配置记录;
根据所述第五目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
可选地,在所述将所述第一目标需求配置记录存入数据库之前,所述导出方法还包括:
判断数据库中是否存在与所述第一目标需求配置记录相同的配置记录;
若存在,则更新所述第一目标需求配置记录的存入时间;
若不存在,则将所述第一目标需求配置记录存入数据库。
本申请第二方面提供了一种配置脚本的导出装置,包括:
第一设置单元,用于设置预设拦截规则,所述预设拦截规则为根据数据定义语言的类型拦截、根据表名拦截规则拦截及根据数据操纵语言的类型拦截;
第二设置单元,用于根据设置指令设置目标版本及目标需求单号,所述目标版本与所述目标需求单号关联,所述目标需求单号与目标需求业务绑定;
获取单元,用于若检测到所述目标需求业务的低代码开发完成指令,则获取所述目标需求单号对应的第一sql语句;
拦截单元,用于根据所述预设拦截规则拦截所述第一sql语句获取第一目标sql语句;
拆解单元,用于将所述第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;
导出单元,用于根据目标导出指令及所述第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
可选地,所述导出装置还包括:
执行单元,用于在目标环境执行所述目标配置脚本sql文件。
可选地,所述目标环境为开发环境、测试环境或生产环境。
可选地,所述拦截单元具体用于:
预编译所述第一sql语句获取目标数据定义语言的类型、目标表名及目标数据操纵语言的类型;
若所述目标数据定义语言的类型、目标表名或目标数据操纵语言的类型符合所述预设拦截规则,则获取所述目标数据定义语言及所述目标数据操纵语言对应的第一目标sql语句。
可选地,所述拆解单元具体用于:
若所述目标数据定义语言的类型为create、alter或drop,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标数据定义语言的类型及所述第一目标sql语句,并存入数据库;
若所述目标数据操纵语言的类型为delete,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标数据操纵语言的类型及第一目标sql语句,并存入数据库;
若所述目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若所述主键值为空,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标表名、所述目标数据操纵语言的类型及所述第一目标sql语言,并存入数据库;
若所述目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若所述主键值不为空,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标表名、所述目标数据操纵语言的类型、所述主键列及所述主键值,并存入数据库。
可选地,所述导出单元具体用于:
若所述目标导出指令为根据目标版本导出,则按照存入时间升序查询所述目标版本所关联的目标需求单号;
按照存入时间升序查询所述目标需求单号对应的第一目标需求配置记录;
将所述目标版本、所述目标需求单号及所述第一目标需求配置记录根据查询结果按顺序转化为第二目标需求配置记录,并将所述第二目标需求配置记录与所述第一目标需求配置记录合并为第三目标需求配置记录;
根据所述第三目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
可选地,所述导出单元具体用于:
若所述目标导出指令为根据目标需求单号导出,则按照存入时间升序查询所述目标需求单号对应的第一目标需求配置记录;
查询所述目标需求单号所关联的目标版本;
将所述目标版本、所述目标需求单号及所述第一目标需求配置记录根据查询结果按顺序转化为第四目标需求配置记录,并将所述第四目标需求配置记录与所述第一目标需求配置记录合并为第五目标需求配置记录;
根据所述第五目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
可选地,所述导出装置还包括:
判断单元,用于判断数据库中是否存在与所述第一目标需求配置记录相同的配置记录;
所述拆解单元具体用于:
若存在,则更新所述第一目标需求配置记录的存入时间;
若不存在,则将所述第一目标需求配置记录存入数据库。
本申请第三方面提供了一种配置脚本的导出装置,所述导出装置包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行第一方面以及第一方面中任一项可选的一种配置脚本的导出方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的一种配置脚本的导出方法。
从以上技术方案可以看出,本申请具有以下优点:设置预设拦截规则,根据设置指令设置目标版本及目标需求单号,目标版本与目标需求单号关联,目标需求单号与目标需求业务绑定,若检测到目标需求业务的低代码开发完成指令,则获取目标需求单号对应的第一sql语句;根据预设拦截规则拦截第一sql语句获取第一目标sql语句;将第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;根据目标导出指令及第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。通过上述方法,由终端导出目标配置脚本sql文件,不需要开发人员手工整理相应的配置脚本sql文件,提高了获取目标配置脚本sql文件的效率,并且提升了准确率。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种配置脚本的导出方法一个实施例流程示意图;
图2-a为本申请提供的一种配置脚本的导出方法另一个实施例流程示意图;
图2-b为本申请提供的一种配置脚本的导出方法另一个实施例流程示意图;
图3-a为本申请提供的一种配置脚本的导出装置一个实施例结构示意图;
图3-b为本申请提供的一种配置脚本的导出装置另一个实施例结构示意图;
图4为本申请提供的一种配置脚本的导出装置一个实施例结构示意图。
具体实施方式
本申请提供了一种配置脚本的导出方法、装置及存储介质,用于提高获取目标配置脚本sql文件的效率及准确率。
需要说明的是,本申请提供的一种配置脚本的导出方法,可以应用于终端,还可以应用于服务器上,例如终端可以是智能手机或电脑、平板电脑、智能电视、智能手表、便携计算机终端也可以是台式计算机等固定终端。为方便阐述,本申请中以终端为执行主体进行举例说明。
请参阅图1,图1为本申请提供的一种配置脚本的导出方法的一个实施例,该导出方法包括:
101、终端设置预设拦截规则,该预设拦截规则为根据数据定义语言的类型拦截、根据表名拦截规则拦截及根据数据操纵语言的类型拦截;
在本实施例中,数据定义语言的类型包括:drop、create或alter;表名拦截规则包括:当表名全匹配时拦截或当表名后缀匹配时拦截;数据操纵语言的类型包括:insert、update或delete。
102、终端根据设置指令设置目标版本及目标需求单号,目标版本与目标需求单号关联,目标需求单号与目标需求业务绑定;
在本实施例中,用户可根据业务需求选择目标版本,并在其选择的目标版本下创建目标需求单号,并在终端生成设置指令,终端根据该设置指令设置目标版本及目标需求单号,一个目标版本可关联多个目标需求单号,一个目标需求单号可以绑定多个目标需求业务,用户根据目标需求业务进行低代码开发。
103、若检测到目标需求业务的低代码开发完成指令,则终端获取目标需求单号对应的第一sql语句;
在本实施例中,用户根据目标需求业务通过拖拽、组合可视化组件完成表单配置、报表配置或流程配置,当目标需求业务的表单或报表配置完成后,终端检测到目标需求业务的低代码开发完成指令,终端获取目标需求单号对应的第一sql语句,第一sql语句中包含了数据定义语言的类型或数据操纵语言的类型。
104、终端根据预设拦截规则拦截第一sql语句获取第一目标sql语句;
在本实施例中,终端预编译第一sql语句获取第一sql语句的目标数据定义语言的类型、目标表名及目标数据操纵语言的类型;若目标数据定义语言的类型、目标表名或目标数据操纵语言的类型符合预设拦截规则,则终端获取目标数据定义语言及目标数据操纵语言对应的第一目标sql语句。例如:第一sql语句为:“create table test_uporlow(idnumber,value varchar2(20))”,终端预编译该第一sql语句,得到第一sql语句的前缀单词为create,此时终端确定第一sql语句的目标数据定义语言的类型为create,与预设拦截规则中的数据定义语言的类型相匹配,此时,终端获取第一目标sql语句,第一目标sql语句为:create table test_uporlow(id number,value varchar2(20))。
105、终端将第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;
在本实施例中,若第一目标sql语句对应的目标数据定义语言的类型为create、drop或alter,则终端将第一目标sql语句拆解为目标需求编号、create、drop或alter及第一目标sql语句,并存入数据库。若第一目标sql语句对应的目标数据操纵语言的类型为delete,则终端将第一目标sql语句拆解为目标需求单号、delete及第一目标sql语句存入数据库。若第一目标sql语句对应的目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若主键值为空,则将第一目标sql语句拆解为目标需求单号、目标表名、insert或update及第一目标sql语句,存入数据库;若第一目标sql语句对应的目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若主键值不为孔,则将第一目标sql语句拆解为目标需求单号、目标表名、insert或update、主键列及主键值,并存入数据库。
106、终端根据目标导出指令及第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
在本实施例中,目标导出指令可以为根据目标版本导出或根据目标需求单号导出。
若目标导出指令为根据目标版本导出,则终端按照存入时间升序查询该目标版本所关联的目标需求单号;终端按照存入时间升序查询目标需求单号对应的第一目标需求配置记录;终端将目标版本、目标需求单号及第一目标需求配置记录根据查询结果按顺序转化为第二目标需求配置记录,并将第二目标需求配置记录与第一目标需求配置记录合并为第三目标需求配置记录;终端根据第三目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。例如:目标版本V所关联的三个目标需求单号为A、B、C,三个目标需求单号对应的第一目标需求配置记录分别为A1、B1、C1,其中A的存入时间早于B,B的存入时间早于C,A1的存入时间早于B1,B1的存入时间早于C1,则按照存入时间升序查询目标版本V所关联的目标需求单号得到的结果为:A、B、C;按照存入时间升序查询目标需求单号对应的第一目标需求配置记录得到的结果为:A1、B1、C1;此时第二目标需求配置记录为:V、A、B、C、A1、B1、C1;将第二目标需求配置记录与第一目标需求配置记录合并为第三目标需求配置记录,并根据第三目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件,具体的:若第三目标需求配置记录中的sql语句不为空,则第二目标sql语句为第三目标需求配置记录中记载的sql语句;若第三目标需求配置记录中的sql语句为空,则根据第三目标需求配置记录中存储的目标表名、主键列、主键值查询数据库,获得对应的数据,并将该数据转化为可重复执行的insert into语句作为第二目标sql语句。
在本实施例中,终端按照存入时间升序查询目标需求单号及第一目标需求配置记录,并将目标版本、目标需求单号及第一目标需求配置记录根据查询结果按顺序转化为第二目标需求配置记录,从而保证了最终导出的配置脚本sql文件中的sql语句的有序性。
若目标导出指令为根据目标需求单号导出,则终端按照存入时间升序查询目标需求单号对应的第一目标需求配置记录;终端查询目标需求单号所关联的目标版本;将目标版本、目标需求单号及第一目标需求配置记录根据查询结果按顺序转化为第四目标需求配置记录,并将第四目标需求配置记录与第一目标需求配置记录合并为第五目标需求配置记录;终端根据第五目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。在本实施例中,终端设置拦截规则,根据设置指令设置目标版本及目标需求单号,目标版本与目标需求单号关联,目标需求单号与目标需求业务绑定,若检测到目标需求业务的低代码开发完成指令,则终端获取目标需求单号对应的第一sql语句;根据预设拦截规则拦截第一sql语句获取第一目标sql语句,将第一目标sql语句拆解为第一目标需求配置记录并存入数据库;根据目标导出指令及第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。通过上述方法,由终端导出目标配置脚本sql文件,不需要开发人员整理相应的配置脚本sql文件,提高了获取目标配置脚本sql文件的效率,并提升了准确率。
请参阅图2-a及图2-b,图2-a及图2-b为本申请提供的一种配置脚本的导出方法的另一个实施例,该导出方法包括:
201、终端设置预设拦截规则,该预设拦截规则为根据数据定义语言的类型拦截、根据表名拦截规则拦截及根据数据操纵语言的类型拦截;
202、终端根据设置指令设置目标版本及目标需求单号,目标版本与目标需求单号关联,目标需求单号与目标需求业务绑定;
203、若检测到目标需求业务的低代码开发完成指令,终端获取目标需求单号对应的第一sql语句;
204、终端根据预设拦截规则拦截第一sql语句获取第一目标sql语句;
在本实施例中,步骤201至204与前述图1实施例中的步骤101与104类似,具体此处不再赘述。
205、终端将第一目标sql语句拆解为第一目标需求配置记录,判断数据库中是否存在与该第一目标需求配置记录相同的配置记录;
在本实施例中,例如:终端将第一目标sql语句拆解为第一目标需求配置记录A,终端查询数据库,若数据库中存在A,则执行步骤206-a;若数据库中不存在A,则执行步骤206-b。
206-a、若存在,则终端更新第一目标需求配置记录的存入时间;
在本实施例中,若数据库中已经存在第一目标需求配置记录,则此时终端只更新第一目标需求配置记录的存入时间,但是不将第一目标需求配置记录存入数据库中。通过上述方法,避免了在数据库中存入相同的需求配置记录,从而导致数据库数据冗余的情况。
206-b、若不存在,则终端将第一目标需求配置记录存入数据库;
在本实施例中,若数据库中不存在与第一目标需求配置记录相同的配置记录,则将第一目标需求配置记录存入数据库中并更新第一目标需求配置记录的存入时间。
207、终端根据目标导出指令及第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件;
本实施例中的步骤207与前述图1实施例中的步骤106类似,具体此处不再赘述。
208、终端在目标环境执行目标配置脚本sql文件。
在本实施例中,目标环境包括测试环境、开发环境及生产环境。
在本实施例中,在不同的目标环境执行目标配置脚本sql文件,从而在不同的目标环境中生成同样的目标业务报表,保证了目标业务报表在不同目标环境中的一致性。
请参阅图3-a,图3-a为本申请提供的一种配置脚本的导出装置一个实施例,该导出装置包括:
第一设置单元301,用于设置预设拦截规则,该预设拦截规则为根据数据定义语言的类型拦截、根据表名拦截规则拦截及根据数据操纵语言的类型拦截;
第二设置单元302,用于根据设置指令设置目标版本及目标需求单号,该目标版本与该目标需求单号关联,该目标需求单号与目标需求业务绑定;
获取单元303,用于若检测到该目标需求业务的低代码开发完成指令,则获取该目标需求单号对应的第一sql语句;
拦截单元304,用于根据该预设拦截规则拦截该第一sql语句获取第一目标sql语句;
拆解单元305,用于将该第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;
导出单元306,用于根据目标导出指令及该第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
在本实施例中,第一设置单元301设置预设拦截规则,第二设置单元302根据设置指令设置目标版本及目标需求单号,目标版本与目标需求单号关联,目标需求单号与目标需求业务绑定,获取单元303若检测到目标需求业务的低代码开发完成指令,则获取目标需求单号对应的第一sql语句;拦截单元304根据预设拦截规则拦截第一sql语句获取第一目标sql语句;拆解单元305将第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;导出单元306根据目标导出指令及第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。通过上述方法,由终端导出目标配置脚本sql文件,不需要开发人员手工整理相应的配置脚本sql文件,提高了获取目标配置脚本sql文件的效率,并且提升了准确率。
下面对本申请提供的一种配置脚本的导出装置进行详细说明,请参阅图3-b,图3-b为本申请提供的一种配置脚本的导出装置另一个实施例,该导出装置包括:
第一设置单元301,用于设置预设拦截规则,该预设拦截规则为根据数据定义语言的类型拦截、根据表名拦截规则拦截及根据数据操纵语言的类型拦截;
第二设置单元302,用于根据设置指令设置目标版本及目标需求单号,该目标版本与该目标需求单号关联,该目标需求单号与目标需求业务绑定;
获取单元303,用于若检测到该目标需求业务的低代码开发完成指令,则获取该目标需求单号对应的第一sql语句;
拦截单元304,用于根据该预设拦截规则拦截该第一sql语句获取第一目标sql语句;
拆解单元305,用于将该第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;
导出单元306,用于根据目标导出指令及该第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
可选地,该装置还包括:
执行单元307,用于在目标环境执行该目标配置脚本sql文件。
可选地,该目标环境为开发环境、测试环境或生产环境。
可选地,该拦截单元304具体用于:
预编译该第一sql语句获取目标数据定义语言的类型、目标表名及目标数据操纵语言的类型;
若该目标数据定义语言的类型、目标表名或目标数据操纵语言的类型符合该预设拦截规则,则获取该目标数据定义语言及该目标数据操纵语言对应的第一目标sql语句。
可选地,该拆解单元305具体用于:
若该目标数据定义语言的类型为create、alter或drop,则将该第一目标sql语句拆解为该目标需求单号、该目标数据定义语言的类型及该第一目标sql语句,并存入数据库;
若该目标数据操纵语言的类型为delete,则将该第一目标sql语句拆解为该目标需求单号、该目标数据操纵语言的类型及第一目标sql语句,并存入数据库;
若该目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若该主键值为空,则将该第一目标sql语句拆解为该目标需求单号、该目标表名、该目标数据操纵语言的类型及该第一目标sql语言,并存入数据库;
若该目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若该主键值不为空,则将该第一目标sql语句拆解为该目标需求单号、该目标表名、该目标数据操纵语言的类型、该主键列及该主键值,并存入数据库。
可选地,该导出单元306具体用于:
若该目标导出指令为根据目标版本导出,则按照存入时间升序查询该目标版本所关联的目标需求单号;
按照存入时间升序查询该目标需求单号对应的第一目标需求配置记录;
将该目标版本、该目标需求单号及该第一目标需求配置记录根据查询结果按顺序转化为第二目标需求配置记录,并将该第二目标需求配置记录与该第一目标需求配置记录合并为第三目标需求配置记录;
根据该第三目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
可选地,该导出单元306具体用于:
若该目标导出指令为根据目标需求单号导出,则按照存入时间升序查询该目标需求单号对应的第一目标需求配置记录;
查询该目标需求单号所关联的目标版本;
将该目标版本、该目标需求单号及该第一目标需求配置记录根据查询结果按顺序转化为第四目标需求配置记录,并将该第四目标需求配置记录与该第一目标需求配置记录合并为第五目标需求配置记录;
根据该第五目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
可选地,该导出装置还包括:
判断单元308,用于判断数据库中是否存在与该第一目标需求配置记录相同的配置记录;
该拆解单元305具体用于:
若存在,则更新该第一目标需求配置记录的存入时间;
若不存在,则将该第一目标需求配置记录存入数据库。
本实施例系统中,各单元的功能与前述图2所示方法实施例中的步骤对应,此处不再赘述。
本申请还提供了一种配置脚本的导出装置,请参阅图4,图4为本申请提供的一种配置脚本的导出装置一个实施例,该导出装置包括:
处理器401、存储器402、输入输出单元403、总线404;
处理器401与存储器402、输入输出单元403以及总线404相连;
存储器402保存有程序,处理器401调用程序以执行如上任一一种配置脚本的导出方法。
本申请还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,当程序在计算机上运行时,使得计算机执行如上任一一种配置脚本的导出方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种配置脚本的导出方法,其特征在于,所述导出方法包括:
设置预设拦截规则,所述预设拦截规则为根据数据定义语言的类型拦截、根据表名拦截规则拦截及根据数据操纵语言的类型拦截;
根据设置指令设置目标版本及目标需求单号,所述目标版本与所述目标需求单号关联,所述目标需求单号与目标需求业务绑定;
若检测到所述目标需求业务的低代码开发完成指令,则获取所述目标需求单号对应的第一sql语句;
根据所述预设拦截规则拦截所述第一sql语句获取第一目标sql语句;
将所述第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;
根据目标导出指令及所述第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
2.根据权利要求1所述的导出方法,其特征在于,在所述生成目标配置脚本sql文件之后,所述导出方法还包括:
在目标环境执行所述目标配置脚本sql文件。
3.根据权利要求2所述的导出方法,其特征在于,所述目标环境为开发环境、测试环境或生产环境。
4.根据权利要求1所述的导出方法,其特征在于,所述根据所述预设拦截规则拦截所述第一sql语句获取第一目标sql语句包括:
预编译所述第一sql语句获取目标数据定义语言的类型、目标表名及目标数据操纵语言的类型;
若所述目标数据定义语言的类型、目标表名或目标数据操纵语言的类型符合所述预设拦截规则,则获取所述目标数据定义语言及所述目标数据操纵语言对应的第一目标sql语句。
5.根据权利要求4所述的导出方法,其特征在于,所述将所述第一目标sql语句拆解为第一目标需求配置记录,并存入数据库包括:
若所述目标数据定义语言的类型为create、alter或drop,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标数据定义语言的类型及所述第一目标sql语句,并存入数据库;
若所述目标数据操纵语言的类型为delete,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标数据操纵语言的类型及第一目标sql语句,并存入数据库;
若所述目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若所述主键值为空,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标表名、所述目标数据操纵语言的类型及所述第一目标sql语言,并存入数据库;
若所述目标数据操纵语言的类型为insert或update,则获取主键列及主键值,若所述主键值不为空,则将所述第一目标sql语句拆解为所述目标需求单号、所述目标表名、所述目标数据操纵语言的类型、所述主键列及所述主键值,并存入数据库。
6.根据权利要求1所述的导出方法,其特征在于,所述根据目标导出指令及所述第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件包括:
若所述目标导出指令为根据目标版本导出,则按照存入时间升序查询所述目标版本所关联的目标需求单号;
按照存入时间升序查询所述目标需求单号对应的第一目标需求配置记录;
将所述目标版本、所述目标需求单号及所述第一目标需求配置记录根据查询结果按顺序转化为第二目标需求配置记录,并将所述第二目标需求配置记录与所述第一目标需求配置记录合并为第三目标需求配置记录;
根据所述第三目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
7.根据权利要求1所述的导出方法,其特征在于,所述根据目标导出指令及所述第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件包括:
若所述目标导出指令为根据目标需求单号导出,则按照存入时间升序查询所述目标需求单号对应的第一目标需求配置记录;
查询所述目标需求单号所关联的目标版本;
将所述目标版本、所述目标需求单号及所述第一目标需求配置记录根据查询结果按顺序转化为第四目标需求配置记录,并将所述第四目标需求配置记录与所述第一目标需求配置记录合并为第五目标需求配置记录;
根据所述第五目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
8.根据权利要求1至7中任一项所述的导出方法,其特征在于,在所述将所述第一目标需求配置记录存入数据库之前,所述导出方法还包括:
判断数据库中是否存在与所述第一目标需求配置记录相同的配置记录;
所述将所述第一目标需求配置记录存入数据库包括:
若存在,则更新所述第一目标需求配置记录的存入时间;
若不存在,则将所述第一目标需求配置记录存入数据库。
9.一种配置脚本的导出装置,其特征在于,所述导出装置包括:
第一设置单元,用于设置预设拦截规则,所述预设拦截规则为根据数据定义语言的类型拦截、根据表名拦截规则拦截及根据数据操纵语言的类型拦截;
第二设置单元,用于根据设置指令设置目标版本及目标需求单号,所述目标版本与所述目标需求单号关联,所述目标需求单号与目标需求业务绑定;
获取单元,用于若检测到所述目标需求业务的低代码开发完成指令,则获取所述目标需求单号对应的第一sql语句;
拦截单元,用于根据所述预设拦截规则拦截所述第一sql语句获取第一目标sql语句;
拆解单元,用于将所述第一目标sql语句拆解为第一目标需求配置记录,并存入数据库;
导出单元,用于根据目标导出指令及所述第一目标需求配置记录导出第二目标sql语句,生成目标配置脚本sql文件。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如权利要求1至8中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210168708.2A CN114237699B (zh) | 2022-02-24 | 2022-02-24 | 一种配置脚本的导出方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210168708.2A CN114237699B (zh) | 2022-02-24 | 2022-02-24 | 一种配置脚本的导出方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114237699A true CN114237699A (zh) | 2022-03-25 |
CN114237699B CN114237699B (zh) | 2022-05-03 |
Family
ID=80747849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210168708.2A Active CN114237699B (zh) | 2022-02-24 | 2022-02-24 | 一种配置脚本的导出方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237699B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164312A (zh) * | 2011-12-09 | 2013-06-19 | 阿里巴巴集团控股有限公司 | 一种准备接口测试数据的方法及系统 |
CN105745620A (zh) * | 2013-12-31 | 2016-07-06 | 北京新媒传信科技有限公司 | 软件架构的实现方法和实现平台 |
CN107506451A (zh) * | 2017-08-28 | 2017-12-22 | 泰康保险集团股份有限公司 | 用于数据交互的异常信息监控方法及装置 |
CN110019517A (zh) * | 2017-11-14 | 2019-07-16 | 顺丰科技有限公司 | 一种数据库中间件动态配置方法、系统、设备、存储介质 |
CN111078501A (zh) * | 2019-12-16 | 2020-04-28 | 深圳市随手科技有限公司 | 基于orm的数据库监控方法、系统、服务器及存储介质 |
CN111241093A (zh) * | 2019-12-31 | 2020-06-05 | 嘉兴太美医疗科技有限公司 | 一种基于数据库的动态存储扩展方法 |
CN111737232A (zh) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 数据库管理方法、系统、装置、设备及计算机存储介质 |
CN111782675A (zh) * | 2020-03-18 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 生成数据库脚本的方法、装置及计算机可读存储介质 |
CN112905624A (zh) * | 2021-02-26 | 2021-06-04 | 浪潮通用软件有限公司 | 一种低代码开发平台的数据库扩展方法及设备 |
CN113127505A (zh) * | 2021-05-17 | 2021-07-16 | 北京奇艺世纪科技有限公司 | 结构化查询语言sql系统的监控方法、装置及电子设备 |
US20220027365A1 (en) * | 2019-04-10 | 2022-01-27 | Ivalua Sas | Enterprise resource planning system, server and supervision method of sql queries in such a system or server |
-
2022
- 2022-02-24 CN CN202210168708.2A patent/CN114237699B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164312A (zh) * | 2011-12-09 | 2013-06-19 | 阿里巴巴集团控股有限公司 | 一种准备接口测试数据的方法及系统 |
CN105745620A (zh) * | 2013-12-31 | 2016-07-06 | 北京新媒传信科技有限公司 | 软件架构的实现方法和实现平台 |
CN107506451A (zh) * | 2017-08-28 | 2017-12-22 | 泰康保险集团股份有限公司 | 用于数据交互的异常信息监控方法及装置 |
CN110019517A (zh) * | 2017-11-14 | 2019-07-16 | 顺丰科技有限公司 | 一种数据库中间件动态配置方法、系统、设备、存储介质 |
US20220027365A1 (en) * | 2019-04-10 | 2022-01-27 | Ivalua Sas | Enterprise resource planning system, server and supervision method of sql queries in such a system or server |
CN111078501A (zh) * | 2019-12-16 | 2020-04-28 | 深圳市随手科技有限公司 | 基于orm的数据库监控方法、系统、服务器及存储介质 |
CN111241093A (zh) * | 2019-12-31 | 2020-06-05 | 嘉兴太美医疗科技有限公司 | 一种基于数据库的动态存储扩展方法 |
CN111782675A (zh) * | 2020-03-18 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 生成数据库脚本的方法、装置及计算机可读存储介质 |
CN111737232A (zh) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 数据库管理方法、系统、装置、设备及计算机存储介质 |
CN112905624A (zh) * | 2021-02-26 | 2021-06-04 | 浪潮通用软件有限公司 | 一种低代码开发平台的数据库扩展方法及设备 |
CN113127505A (zh) * | 2021-05-17 | 2021-07-16 | 北京奇艺世纪科技有限公司 | 结构化查询语言sql系统的监控方法、装置及电子设备 |
Non-Patent Citations (5)
Title |
---|
丁海燕: "利用Dreamweaver8.0实现动态网页的数据库访问", 《昆明学院学报 计算机科学与信息技术》 * |
李成奇等: "基于MD5算法的数据库修改工具的研究与实现", 《中国新通信》 * |
汪源: "万字长文讲透低代码-InfoQ", 《HTTPS://WWW.INFOQ.CN/ARTICLE/GH6HUCBSJ32QUCUDATOS》 * |
潘亚军等: "一种基于SQL的数据库初始化通用方法", 《计算机工程与应用》 * |
王强: "基于分布式的IT综合监控平台的设计和实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114237699B (zh) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908997B (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
US11036754B2 (en) | Database table conversion | |
US20170161291A1 (en) | Database table conversion | |
EP0756725B1 (en) | Interface device and method | |
US9135647B2 (en) | Methods and systems for flexible and scalable databases | |
CN111767303A (zh) | 一种数据查询方法、装置、服务器及可读存储介质 | |
CN111026470A (zh) | 用于输入数据的验证和转换的系统和方法 | |
CN106687955B (zh) | 简化将数据从数据源转移到数据目标的导入过程的调用 | |
US8904352B2 (en) | Systems and methods for processing source code during debugging operations | |
CN110245145A (zh) | 关系型数据库到Hadoop数据库的结构同步方法和装置 | |
CN111460241B (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
CN109977099A (zh) | 数据库部署方法、用户设备、存储介质及装置 | |
CN110198327B (zh) | 一种数据传输方法及相关设备 | |
CN111881042A (zh) | 自动化测试脚本的生成方法、装置和电子设备 | |
CN113760948A (zh) | 一种数据查询的方法及装置 | |
CN112416991A (zh) | 一种数据处理方法、装置以及存储介质 | |
CN111159227B (zh) | 数据查询方法、装置、设备及存储介质 | |
CN108415998A (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN103678396A (zh) | 一种基于数据模型的数据备份方法和装置 | |
CN114237699B (zh) | 一种配置脚本的导出方法、装置及存储介质 | |
CN108959294A (zh) | 一种访问搜索引擎的方法和装置 | |
CN111488386A (zh) | 数据查询方法和装置 | |
CN112052152A (zh) | 一种模拟测试的方法和装置 | |
CN117009430A (zh) | 数据管理方法、装置和存储介质及电子设备 | |
CN113806327A (zh) | 一种数据库设计方法、装置及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |