[发明专利]多类型数据库表结构对比方法、系统、设备及存储介质在审
| 申请号: | 202110992035.8 | 申请日: | 2021-08-27 |
| 公开(公告)号: | CN113672639A | 公开(公告)日: | 2021-11-19 |
| 发明(设计)人: | 黄富贵 | 申请(专利权)人: | 成都长城开发科技有限公司 |
| 主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/28 |
| 代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 徐静 |
| 地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 类型 数据库 结构 对比 方法 系统 设备 存储 介质 | ||
1.一种多类型数据库表结构对比方法,其特征在于,包括如下步骤:
步骤1:定义数据库表结构属性SQL查询执行类,设置查询该数据库表结构属性的可执行SQL语句;
步骤2:提取源数据库和目标数据库的公共表结构属性;
步骤3:对两种数据库的公共表结构属性依据各自对应的可执行SQL语句进行查询,得到结果集,并转换为同类型的数据对象;
步骤4:将转换后的数据对象按照新增、修改和删除三个方面进行对比,记录对比后的结果;
步骤5:定义源数据库和目标数据库的表结构属性转换类,将对比有差异性的表结构属性按照目标数据库的表结构属性进行相应的转换;
步骤6:定义数据库表结构属性的SQL生成类,按照目标数据库表结构属性的DDL语法生成可执行SQL。
2.如权利要求1所述的多类型数据库表结构对比方法,其特征在于,在所述步骤2中,根据两种数据库所支持的表结构属性,提取出两者所具有的共有属性,仅对共有属性进行查询和对比,所述表结构属性包括表、约束、索引和序列。
3.如权利要求2所述的多类型数据库表结构对比方法,其特征在于,在所述步骤4包括以下子步骤:
步骤401:对比表的数据对象时,对源数据库和目标数据库的表数据对象组成的集合分别遍历,以表名作为key,以表数据对象本身作为value,生成tableMap信息;同样地,对列数据对象组成的集合进行遍历,以tableName作为key,value为该表下的列信息集合;
步骤402:遍历源数据库的tableMap,将其key在目标数据库的tableMap进行寻找,若表仅存在于源数据库,则将表数据对象标记为新增,该表所对应的列信息集合中的对象均标记为新增;若key存在于两种数据库中,比较表数据对象的备注属性,备注信息不同则将表数据对象标记为修改,执行步骤S403;
步骤403:遍历该表对应的列信息集合进行比较,若列仅存在于源数据库,则将该列的状态属性的取值设为新增,并将该列所在表数据对象标记为修改;若列只存在于目标数据库,则将该列数据对象标记为删除,并将该列所在表数据对象标记为修改;若列在源数据库、目标数据库都存在且列的属性都相同,则不作处理;若列在源数据库、目标数据库都存在且列的属性不同,则将列数据对象标记为修改,并将该列所在表数据对象标记为修改。
4.如权利要求3所述的多类型数据库表结构对比方法,其特征在于,所述步骤403中,在比较时,先查询转换配置项,查看是否需要对源数据库的数据对象的值进行转换,若需要转换,则使用源数据库的数据对象转换后的值与目标数据库的数据对象的值进行比较。
5.如权利要求1所述的多类型数据库表结构对比方法,其特征在于,在所述步骤3中,根据源数据库和目标数据库的类型,找到对应的SQL查询执行类,用于对两种数据库的公共表结构属性依据各自对应的SQL语句进行查询,得到结果集,再对查询出的结果集进行封装处理成相同的数据对象,便于后续的比较。
6.如权利要求1所述的多类型数据库表结构对比方法,其特征在于,在所述步骤5中,按照目标数据库的表结构属性进行相应的转换,所述转换包括列类型和列默认值。
7.一种多类型数据库表结构对比系统,其特征在于,包括:
查询预处理模块,用于定义数据库表结构属性SQL查询执行类,设置查询该数据库表结构属性的可执行SQL语句;
共有属性提取模块,用于提取源数据库和目标数据库的公共表结构属性;
属性查询及转换模块,用于对两种数据库的公共表结构属性依据各自对应的可执行SQL语句进行查询,得到结果集,并转换为同类型的数据对象;
数据对象对比模块,用于将转换后的数据对象按照新增、修改和删除三个方面进行对比,记录对比后的结果;
表结构属性转换模块,用于定义源数据库和目标数据库的表结构属性转换类,将对比有差异性的表结构属性按照目标数据库的表结构属性进行相应的转换;
执行语句生成模块,用于定义数据库表结构属性的SQL生成类,按照目标数据库表结构属性的DDL语法生成可执行SQL。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都长城开发科技有限公司,未经成都长城开发科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110992035.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于工程监理的巡视机器人
- 下一篇:一种基于车道线的物流AGV定位方法





