一种基于配置文件的数据库表结构同步方法、装置和系统与流程

文档序号:30160588发布日期:2022-05-26 08:40阅读:70来源:国知局
一种基于配置文件的数据库表结构同步方法、装置和系统与流程

1.本发明涉及数据库表领域,尤其是涉及一种基于配置文件的数据库表结构同步方法、装置和系统。


背景技术:

2.在软件版本迭代过程中,往往存在上游的表结构发生变化,导致现有的程序不能够正常运行,需要开发人员将上游的表结构同步到现有的开发和测试环境中。一般情况下,开发人员没有上游数据库的权限,只能根据上游开发人员提供的数据库更改文档,进行人工同步数据库的表结构,这种方法浪费时间和人力。
3.其次,若开发人员疏忽上游的表结构的变化或者在同步过程中遗漏了部分表结构的变化,也会使得程序不能够正常的运行,导致程序不能够按期上线。


技术实现要素:

4.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于配置文件的数据库表结构同步方法、装置和系统。
5.本发明的目的可以通过以下技术方案来实现:
6.一种基于配置文件的数据库表结构同步方法,包括以下步骤:
7.s1、设定配置文件标准;
8.s2、根据配置文件标准,下载对应的数据库更新文档;
9.s3、根据现有数据库的表结构以及更新文档中的表结构,生成对应的sql脚本并执行;
10.所述步骤s3具体如下:
11.s31、初始化集合a、b;
12.s32、读取更新文档中的表结构,并按表名将其中的字段放入集合b;
13.s33、读取现有数据库中的表结构,并按表名将其中的字段放入集合a;
14.s34、删除集合a和集合b共有的字段,并将集合b中剩余的字段生成sql添加语句,将集合a中剩余的字段生成sql删除语句,生成sql脚本。
15.进一步地,所述配置文件标准包括批次版本号、文档存放路径、数据库url、数据库用户名、数据库密码和保存sql脚本的文件路径。
16.进一步地,所述步骤s2具体如下:
17.读取配置文件标准,得到所需的批次信息和文件存放路径,循环遍历对应下载网页的下载标签,下载对应批次信息下的所有数据库更新文档,放入文件存放路径中。
18.进一步地,若文件存放路径不存在,则在上一级路径中进行创建。
19.一种基于配置文件的数据库表结构同步装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现以下方法:
20.s1、设定配置文件标准;
21.s2、下载配置文件标准对应的数据库更新文档;
22.s3、根据现有数据库的表结构以及更新文档中的表结构,生成对应的sql脚本并执行;
23.所述步骤s3具体如下:
24.s31、初始化集合a、b;
25.s32、读取更新文档中的表结构,并按表名将其中的字段放入集合b;
26.s33、读取现有数据库中的表结构,并按表名将其中的字段放入集合a;
27.s34、删除集合a和集合b共有的字段,并将集合b中剩余的字段生成sql添加语句,将集合a中剩余的字段生成sql删除语句,生成sql脚本。
28.一种基于配置文件的数据库表结构同步系统,包括配置文件模块、更新下载模块和sql脚本生成模块:
29.所述配置文件模块用于生成配置文件标准;
30.所述更新下载模块用于获取配置文件标准并下载配置文件标准对应的数据库更新文档;
31.所述sql脚本生成模块用于根据现有数据库的表结构以及更新文档中的表结构,生成对应的sql脚本并执行;
32.所述sql脚本生成模块具体执行以下步骤:
33.s31、初始化集合a、b;
34.s32、读取更新文档中的表结构,并按表名将其中的字段放入集合b;
35.s33、读取现有数据库中的表结构,并按表名将其中的字段放入集合a;
36.s34、删除集合a和集合b共有的字段,并将集合b中剩余的字段生成sql添加语句,将集合a中剩余的字段生成sql删除语句,生成sql脚本。
37.与现有技术相比,本发明具有以下优点:
38.1、本发明与现有技术相比,设定了配置文件的标准,并基于配置文件下载更新的数据库文档,无需每次都对数据库进行主从复制,仅需要提前设定相关配置文件,利用sql脚本根据更新文件与现有文件的差异对数据库表结构进行更新,提升了同步效率;每次更新时,无需改写代码,只需更改配置文件即可实现数据库表结构的同步。
39.2、本发明提供了一种sql脚本命令,遍历所有数据后创建了删除和添加命令,使数据库表结构的更新更具有逻辑性。
40.3、本发明在下载数据库更新文档时,通过循环遍历的方式获取文档,并在文件存放路径不存在时自动创建,提高了整体流程运行的可靠性。
附图说明
41.图1为本发明的流程示意图。
42.图2为本发明sql脚本生成流程示意图。
43.图3为本发明涉及的系统结构示意图。
具体实施方式
44.下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案
为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
45.本实施例提供了一种基于配置文件的数据库表结构同步方法,包括以下步骤:
46.步骤s1、设定配置文件标准,配置文件标准是由数据库上游确定的具体信息,包括批次版本号、文档存放路径、数据库url、数据库用户名、数据库密码和保存sql脚本的文件路径。
47.步骤s2、在对应html网页中遍历下载配置文件标准对应的数据库更新文档。
48.步骤s3、分析现有数据库的表结构以及更新文档中的表结构之间的差异,生成对应的sql脚本并执行。
49.在本实施例中,步骤s3具体如图2所示,可展开如下:
50.步骤s31、初始化集合a、b,将集合a、b的数据清空。
51.步骤s32、读取更新文档中的表结构,根据表名生成对应的查询表字段的sql语句,并按表名将其中的字段放入集合b。
52.步骤s33、读取现有数据库中的表结构,并按表名将其中的字段放入集合a。
53.步骤s34、删除集合a和集合b共有的字段,并将集合b中剩余的字段生成sql添加列语句,将集合a中剩余的字段生成sql删除列语句,写入相应文件中,生成sql脚本。
54.在本实施例中,步骤s2可具体展开如下:
55.根据html网页的结构和标签,锁定选择批次的html标签,读取配置文件,得到所需要的批次信息和文件存放路径,遍历下载网页中的下载标签,下载本批次信息对应的所有数据库更新文档,并放入文件存放路径中,若文件存放路径不存在,则在最后一级存放路径的上一级路径中进行创建。
56.定义配置文件标准是本实施例的基础,它能够提供一个标准和规范,在每次版本迭代数据库发生变化时,无需改写代码,只需更改配置文件,即可实现数据库表结构的同步。
57.通过下载的表结构更新文档,对数据库中的表结构进行对比,根据变化生成统一的脚本语言,最后执行sql语句完成数据库表结构的同步。
58.本实施例还提供了一种基于配置文件的数据库表结构同步装置,包括存储器和处理器;存储器,用于存储计算机程序;处理器,用于当执行计算机程序时,实现以下方法:
59.步骤s1、设定配置文件标准,配置文件标准是由数据库上游确定的具体信息,包括批次版本号、文档存放路径、数据库url、数据库用户名、数据库密码和保存sql脚本的文件路径。
60.步骤s2、在对应html网页中遍历下载配置文件标准对应的数据库更新文档。
61.步骤s3、分析现有数据库的表结构以及更新文档中的表结构之间的差异,生成对应的sql脚本并执行。
62.本实施例还提供了一种基于配置文件的数据库表结构同步系统,如图3所示,包括配置文件模块、更新下载模块和sql脚本生成模块:
63.配置文件模块用于生成配置文件标准,格式可以按照键值对的格式存在,便于程序的读取和识别。
64.更新下载模块用于获取配置文件标准并下载配置文件标准对应的数据库更新文
档。
65.sql脚本生成模块用于根据现有数据库的表结构以及更新文档中的表结构,生成对应的sql脚本并执行。
66.本实施例又提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中提到的基于配置文件的数据库表结构同步,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
67.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1