[发明专利]用于生成升级SQL脚本的装置有效
申请号: | 201510339104.X | 申请日: | 2015-06-18 |
公开(公告)号: | CN104965735B | 公开(公告)日: | 2018-10-19 |
发明(设计)人: | 金洪 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F17/30 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张焕生;谢丽娜 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 生成 升级 sql 脚本 装置 | ||
本发明提供一种用于生成升级SQL脚本的装置,包括:配置客户端,所述配置客户端用于使用户配置数据库数据源,包括选择数据库类型,以及指定基线版本数据库和目标版本数据库;和生成部,根据所述配置客户端的调用请求,所述生成部根据预定义的规则把所述基线版本数据库的数据字典与所述目标版本数据库的数据字典分别转换成相应的数据库对象,比较所述基线版本数据库的数据库对象与所述目标版本数据库的数据库对象之间的差异以产生差异分析报告,并且根据所述差异分析报告,按照相应的SQL语法规则定义,生成升级SQL脚本。
技术领域
本发明涉及数据库升级,特别涉及基于基线版本的关系数据库升级脚本快速生成引擎装置及方法。
背景技术
数据库升级常常会耗费大量时间成本,特别是在数据库升级变更大、生产环境要升级的基线版本多的情况下,如何实施将生产环境不同基线版本的数据库快速准确地升级到最新版本,是软件开发项目中常常遇到的问题。
常用的数据库升级方案有以下两种:
(1)重建数据库:重建数据库是指在生产环境重新部署全新的数据库环境,先把生产环境数据库数据表中的核心业务数据备份出来,然后用最新版本的数据库SQL脚本重建生产环境,再把备份出来的业务数据导回对应数据表。这种数据库升级方案只适用于微小型系统,并且导出导入耗费时间长、以及容易造成业务数据丢失,对于企业级系统,这种方案完全不可行。
(2)增量升级:增量升级是指根据生产环境待升级数据库与新版本数据库表结构的差异,编写数据库升级SQL脚本,然后直接在生产环境执行升级SQL脚本即完成数据库升级,其中SQL脚本包含新建/修改/删除数据表、数据字段、索引、存储过程、约束、触发器等数据对象,绝大多开发项目或开发人员会使用这种方案。对于数据库升级SQL脚本的编写,通常情况下是开发人员通过设计文档人工对比待升级数据库与新版本数据库表结构的差异,手动编写升级SQL脚本,这种数据库升级方法模型示意图如图1所示。
这种增量升级数据库的方法模型,编写数据库升级SQL脚本如果完全靠开发人员人工操作,将会耗费大量人力成本。特别是对系统庞大、数据库表结构升级变更大的软件产品,通常情况下开发人员需要根据庞大的设计文档,甚至以程序代码为参考,而且没有任何规律可循的情况下,全人工编写数据库升级SQL脚本,而且每个开发版本都如此,大大增大软件开发项目时间和人力成本投入。
发明内容
针对软件开发项目中人工编写数据库升级SQL脚本效率低的缺点,本发明的发明人提出开发一个基于基线版本快速生成数据库升级SQL脚本的通用软件引擎装置,软件开发人员可以利用这种软件引擎装置,通过同时连接基线版本数据库和目标版本数据库,根据数据库字典对比及该引擎装置提供的SQL语法规则引擎,快速生成数据库升级SQL脚本和数据库表结构差异报告,从而大幅提升软件开发项目数据库升级SQL脚本编写效率,大幅降低项目开发成本。
根据本发明,提供一种用于生成升级SQL脚本的装置,包括:配置客户端,所述配置客户端用于使用户配置数据库数据源,包括选择数据库类型,以及指定基线版本数据库和目标版本数据库;和生成部,根据所述配置客户端的调用请求,所述生成部根据预定义的规则把所述基线版本数据库的数据字典与所述目标版本数据库的数据字典分别转换成相应的数据建库SQL脚本,之后将所述基线版本数据库的数据建库SQL脚本和所述目标版本数据库的数据字典分别转换成数据对象,比较所述基线版本数据库的数据对象与所述目标版本数据库的数据对象之间的差异以产生差异分析报告,并且根据所述差异分析报告,按照相应的SQL语法规则定义,生成升级SQL脚本。
根据本发明的装置,所述选择数据库类型包括选择数据库产品名及其版本号,使得所述生成部选择匹配的定义规则进行分析处理。
根据本发明的装置,所述生成部包括规则定义区,所述规则定义区至少定义了各类数据库包含的数据对象、数据对象之间的约束与依赖关系和数据对象DDL语法规则。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510339104.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种中心服务器容灾备份方法
- 下一篇:一种切换工作状态的方法和装置