[发明专利]一种数据库升级脚本的生成方法和装置无效
申请号: | 201010287378.6 | 申请日: | 2010-09-16 |
公开(公告)号: | CN102402559A | 公开(公告)日: | 2012-04-04 |
发明(设计)人: | 周源 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 迟姗;蒋雅洁 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 升级 脚本 生成 方法 装置 | ||
1.一种数据库升级脚本的生成方法,其特征在于,设置并存储与数据库表中的数据变化对应的升级规则描述文件;该方法还包括:
通过分析建表结构化查询语言SQL语句得到数据库升级前后的表结构,并对数据库升级前后表结构进行比较;解析升级规则描述文件,并依据解析结果以及所述表结构变化的比较结果生成数据库升级脚本。
2.根据权利要求1所述的数据库升级脚本的生成方法,其特征在于,所述升级规则描述文件中包括:原表中的原始数据升级为新表中的新数据所依据的算法、以及升级后新表中新增字段的值。
3.根据权利要求1或2所述的数据库升级脚本的生成方法,其特征在于,所述升级规则描述文件为可扩展标记语言XML文件格式、或者文本文件格式。
4.根据权利要求3所述的数据库升级脚本的生成方法,其特征在于,所述解析升级规则描述文件为:
对XML文件格式或者文本文件格式的升级规则描述文件进行分析,按表名、字段名和缺省值三部分将升级规则描述文件中的内容对应归类,将各部分内容对应存储于表项为表名、字段名和缺省值的表中。
5.根据权利要求4所述的数据库升级脚本的生成方法,其特征在于,所述表名和字段名为升级后所得新表中的表名和字段名;所述缺省值为:升级规则描述文件中的原始数据升级为新数据所依据的算法、或者升级后新表中新增字段的值。
6.根据权利要求1或2所述的数据库升级脚本的生成方法,其特征在于,所述生成的数据库升级脚本中包括升级语句和回退语句。
7.根据权利要求1或2所述的数据库升级脚本的生成方法,其特征在于,所述生成数据库升级脚本的过程中,该方法还包括:
生成用于表示数据库脚本文件中除建表SQL语句之外的创建表空间的SQL语句;创建用户、用户授权的SQL语句;创建序列号的SQL语句;创建视图的SQL语句;创建存储过程的SQL语句;创建触发器的SQL语句和静态配置数据的插入语句的变化的脚本;还生成用于控制升级操作的脚本。
8.一种数据库升级脚本的生成装置,包括词法分析模块和语法分析模块;其特征在于,该装置还包括:升级规则存储模块、升级规则解析模块和升级脚本生成模块;其中,
所述升级规则存储模块,用于存储已设置的数据库表中的数据变化对应的升级规则描述文件;
所述升级规则解析模块,用于解析升级规则存储模块中存储的升级规则描述文件,并将解析结果发送给升级脚本生成模块;
所述升级脚本生成模块,用于对语法分析模块所发的数据库升级前后的表结构进行比较,并依据升级规则解析模块所发的解析结果以及所述数据库升级前后表结构的比较结果生成数据库升级脚本。
9.根据权利要求8所述的数据库升级脚本的生成装置,其特征在于,所述升级规则解析模块执行的解析操作,具体为:
调用并分析升级规则存储模块中存储的升级规则描述文件,按表名、字段名和缺省值三部分将升级规则描述文件中的内容对应归类,将各部分内容对应存储于表项为表名、字段名和缺省值的表中。
10.根据权利要求8或9所述的数据库升级脚本的生成装置,其特征在于,所述升级脚本生成模块,还用于生成用于表示数据库脚本文件中除建表SQL语句之外的创建表空间的SQL语句;创建用户、用户授权的SQL语句;创建序列号的SQL语句;创建视图的SQL语句;创建存储过程的SQL语句;创建触发器的SQL语句和静态配置数据的插入语句的变化的脚本,以及生成用于控制升级操作的脚本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010287378.6/1.html,转载请声明来源钻瓜专利网。