[发明专利]一种大型系统的数据库版本迁移方法在审
申请号: | 201711077111.2 | 申请日: | 2017-11-06 |
公开(公告)号: | CN107861737A | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 熊梦;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71;G06F17/30 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙)11350 | 代理人: | 汤东凤 |
地址: | 523808 广东省东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大型 系统 数据库 版本 迁移 方法 | ||
1.一种大型系统的数据库版本迁移方法,其特征在于:所述的方法包括如下步骤:
(1)定义各组件数据库版本迁移文件;包括设置迁移文件的文件名格式和内容格式;
(2)新增各组件数据库中版本迁移数据表;
(3)迁移子程序读取配置文件,获取组件数据库连接属性,包括组件数据库所在服务器IP、端口号,登录组件数据库的用户名和密码;
(4)读取组建数据库gc_db_version版本表,根据组件数据库名字读取当前版本,如果获取不到当前版本号,则返回默认版本0;
(5)根据当前版本和参数传递的目标版本从数据库版本迁移文件目录中获取需要执行的版本迁移文件列表;
(6)依次执行版本迁移文件,记录执行后的响应输出;如果执行成功,则将文件名添加到成功文件数组里,同时向gc_db_migrate_log表写入迁移记录;
(7)如果中途版本执行出现错误,则记录错误,然后根据成功的文件数组获取回滚的数组,并且执行回滚操作,同时向gc_db_migrate_log表写入迁移记录;
(8)当版本迁移文件列表全部成功执行完之后,更新gc_db_version版本号为本次目标版本号。
2.根据权利要求1所述的方法,其特征在于,所述的设置迁移文件的文件名格式和内容格式如下:
(11)数据库版本迁移文件文件名格式设置,包括如下设置:
升级变更记录文件,格式:版本_up_数据库名#备注.sql;
降级变更记录文件,格式:版本_down_数据库名#备注.sql。
(12)数据库版本迁移文件文件内容格式设置,包括如下设置:
以注释的方式记录每一次增加变更记录的变更日期、变更人、变更内容描述;
以SQL语句的形式定义数据库表结构及表数据的变更;
所述每一次增加变更记录都必须同时增加升级变更记录文件和降级变更记录文件,且文件名版本一致,文件内容中数据库SQL变更脚本相对。
3.根据权利要求1所述的方法,其特征在于,所述新增各组件数据库中版本迁移数据表包括:
(21)gc_db_version版本表,用于记录组件数据库当前版本,包括组件数据库名称字段和版本字段;
(22)gc_db_migrate_log数据库版本迁移日志表,用于记录组件数据库版本迁移历史记录,主要包括UUID字段,数据库版本迁移文件文件名字段,版本字段,迁移类型字段,迁移结果字段,迁移错误码字段,迁移时间字段。
4.根据权利要求2所述的方法,其特征在于,所述新增各组件数据库中版本迁移数据表包括:
(21)gc_db_vetsion版本表,用于记录组件数据库当前版本,包括组件数据库名称字段和版本字段;
(22)gc_db_migrate_log数据库版本迁移日志表,用于记录组件数据库版本迁移历史记录,主要包括UUID字段,数据库版本迁移文件文件名字段,版本字段,迁移类型字段,迁移结果字段,迁移错误码字段,迁移时间字段。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述迁移子程序是一个通用的独立于大型系统的单独程序,可以是用java编写的一个可执行jar包文件程序;
所述迁移子程序的配置文件指定组件数据库版本迁移文件所在地址目录。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述数据库版本迁移包括数据表的增加、删除和修改,数据表结构字段的增加、删除和修改,数据表内容记录的增加、删除和修改。
7.根据权利要求5所述的方法,其特征在于,所述数据库版本迁移包括数据表的增加、删除和修改,数据表结构字段的增加、删除和修改,数据表内容记录的增加、删除和修改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711077111.2/1.html,转载请声明来源钻瓜专利网。