一种生成数据库脚本的方法及装置制造方法

文档序号:6542692阅读:151来源:国知局
一种生成数据库脚本的方法及装置制造方法
【专利摘要】本申请公开了一种生成数据库脚本的方法及装置,所述方法包括:加载数据库脚本源文件,所述数据库脚本源文件中包含多个不同地区业务的公共脚本部分和区别脚本部分,在所述数据库脚本源文件中通过编译选项标识所述区别脚本部分;获取用户对需要生成数据库脚本的地区的选择,根据用户所选地区对应的编译选项从所述数据库脚本源文件中提取有效代码,所述有效代码包含所述公共脚本部分以及用户所选地区对应的编译选项所标识的区别脚本部分。本申请在脚本中心平台各地规则不同的存储过程都对应同一个数据库脚本源文件,简化了开发人员的开发过程,并加强了版本管理和统一的规则维护,而且可以清晰地区分各个地区的规则差异。
【专利说明】一种生成数据库脚本的方法及装置

【技术领域】
[0001] 本发明涉及数据库【技术领域】,尤其涉及一种生成数据库脚本的方法及装置。

【背景技术】
[0002] 近年来随着通信网络的发展与成熟,全国性开展的业务飞速发展,针对这种全国 性的业务,需要在全国各地分别发布业务平台。因为所在地域的不同、运营商的不同等因素 的限制,因此各地业务平台的功能模块和运行规则也存在大大小小的各种差异。
[0003] 这种差异反映在数据库脚本方面,即需要维护很多套包含不同规则的数据库脚 本。传统的维护数据库脚本的方式是:在收到修改需求后,从局方平台提取脚本到实验室进 行修改,测试通过后在局方平台进行更新。这种在各地分别进行数据脚本维护的方式,需要 维护很多套脚本,维护起来非常困难。
[0004] 因此,对数据库脚本的管理以及对数据库脚本在各地的执行效率提出了新的要 求:如何简单有效地进行版本控制,开发人员如何快速开发各地的代码,如何简化各地代码 的维护量,如何让数据库服务器能够快速高效地执行存储过程,就成为了目前亟待解决的 问题。


【发明内容】

[0005] 本发明要解决的技术问题是提供一种生成数据库脚本的方法及装置,能够降低数 据库脚本的维护量,提高数据库脚本的开发效率。
[0006] 为解决上述技术问题,本申请的一种生成数据库脚本的方法,包括:
[0007] 加载数据库脚本源文件,所述数据库脚本源文件中包含多个不同地区业务的公共 脚本部分和区别脚本部分,在所述数据库脚本源文件中通过编译选项标识所述区别脚本部 分;
[0008] 获取用户对需要生成数据库脚本的地区的选择,根据用户所选地区对应的编译选 项从所述数据库脚本源文件中提取有效代码,所述有效代码包含所述公共脚本部分以及用 户所选地区对应的编译选项所标识的区别脚本部分。
[0009] 进一步地,所述方法还包括:
[0010] 在获取用户对需要生成数据库脚本的地区的选择后,根据用户所选地区对应的编 译选项从所述数据库脚本源文件中提取有效代码前,还将所述数据库脚本源文件中用户所 选地区对应的编译选项之外的其他编译选项所标识的区别脚本部分设置为无效。
[0011] 进一步地,所述方法还包括:
[0012] 在获取用户对需要生成数据库脚本的地区的选择后,将所述数据库脚本源文件中 用户所选地区对应的编译选项之外的其他编译选项所标识的区别脚本部分设置为无效前, 还获取用户对所选地区的数据库服务器的选择,用户选择的服务器包括测试服务器和正式 服务器;并且,
[0013] 在提取有效代码后,确定用户选择的服务器的类型,如果用户选择的服务器为测 试服务器,则将有效代码执行到所述测试服务器进行测试;如果用户选择的服务器为正式 服务器,则将有效代码作为有效的数据库脚本执行到所述正式服务器。
[0014] 进一步地,所述方法还包括:
[0015] 在将所述数据库脚本源文件中用户所选地区对应的编译选项之外的其他编译选 项所标识的区别脚本部分设置为无效后,提取有效代码前,还接收用户对有效代码的修改, 在用户完成修改后,进行所述提取有效代码。
[0016] 进一步地,所述数据库脚本源文件为多个,业务的每个存储过程分别对应一数据 库脚本源文件;
[0017] 所述加载数据库脚本源文件,包括:加载用户从多个数据库脚本源文件中选择的 数据库脚本源文件。
[0018] 进一步地,一种生成数据库脚本的装置,包括:加载单元、获取单元和提取单元,其 中:
[0019] 所述加载单元,用于加载数据库脚本源文件,所述数据库脚本源文件中包含多个 不同地区业务的公共脚本部分和区别脚本部分,在所述数据库脚本源文件中通过编译选项 标识所述区别脚本部分;
[0020] 所述获取单元,用于获取用户对需要生成数据库脚本的地区的选择;
[0021] 所述提取单元,用于根据用户所选地区对应的编译选项从所述数据库脚本源文件 中提取有效代码,所述有效代码包含所述公共脚本部分以及用户所选地区对应的编译选项 所标识的区别脚本部分。
[0022] 进一步地,所述装置还包括无效设置单元,其中:
[0023] 所述无效设置单元,用于在所述获取单元获取用户对需要生成数据库脚本的地区 的选择后,所述提取单元根据用户所选地区对应的编译选项从所述数据库脚本源文件中提 取有效代码前,还将所述数据库脚本源文件中用户所选地区对应的编译选项之外的其他编 译选项所标识的区别脚本部分设置为无效。
[0024] 进一步地,所述装置还包括执行单元,其中:
[0025] 所述获取单元,还用于在获取用户对需要生成数据库脚本的地区的选择后,所述 无效设置单元将所述数据库脚本源文件中用户所选地区对应的编译选项之外的其他编译 选项所标识的区别脚本部分设置为无效前,获取用户对所选地区的数据库服务器的选择, 用户选择的服务器包括测试服务器和正式服务器;
[0026] 所述执行单元,用于在所述提取单元提取有效代码后,确定用户选择的服务器的 类型,如果用户选择的服务器为测试服务器,则将有效代码执行到所述测试服务器进行测 试;如果用户选择的服务器为正式服务器,则将有效代码作为有效的数据库脚本执行到所 述正式服务器。
[0027] 进一步地,所述装置还包括修改单元,其中:
[0028] 所述修改单元,用于在所述无效设置单元将所述数据库脚本源文件中用户所选地 区对应的编译选项之外的其他编译选项所标识的区别脚本部分设置为无效后,所述提取单 元提取有效代码前,接收用户对有效代码的修改,在用户完成修改后,通知所述提取单元提 取有效代码。
[0029] 进一步地,所述数据库脚本源文件为多个,业务的每个存储过程分别对应一数据 库脚本源文件;
[0030] 所述加载单元加载数据库脚本源文件,包括:加载用户从多个数据库脚本源文件 中选择的数据库脚本源文件。
[0031] 综上所述,本发明的有益效果如下:
[0032] (1)在脚本中心平台各地规则不同的存储过程都对应同一个数据库脚本源文件, 简化了开发人员的开发过程,并加强了版本管理和统一的规则维护,而且可以清晰地区分 各个地区的规则差异;
[0033] (2)根据不同的编译选项生成针对不同地区的数据库脚本,不含任何无用代码,最 大程度地增加了执行效率;
[0034] (3)可直接在测试环境中测试,不影响开发效率。

【专利附图】

【附图说明】
[0035] 图1为本申请的生成数据库脚本的方法的流程图;
[0036] 图2为本申请的生成数据库脚本的方法采用的操作界面的示意图;
[0037] 图3为本申请的生成数据库脚本的装置的架构图。

【具体实施方式】
[0038] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0039] 如图1所示,本申请的生成数据库脚本的方法,包括:
[0040] 步骤101 :加载数据库脚本源文件,数据库脚本源文件中包含多个不同地区业务 的公共脚本部分和区别脚本部分,在数据库脚本源文件中通过编译选项标识不同地区业务 的区别脚本部分;
[0041] 例如,假设某业务部署在地区A和地区B。地区A的用户注册成为会员需要扣除 50RMB,地区B的用户注册成为会员需要扣除100RMB,除此之外其他规则均相同,这样就可 以将地区A和地区B的存储过程写在一份数据库脚本源文件中,其中,地区A和地区B的用 户注册脚本作为区别脚本部分,通过编译选项进行标识,其他相同规则的脚本作为公共脚 本部分。
[0042] 由于一个业务可能存在多个存储过程,因此,本申请中的数据库脚本源文件可以 为多个,业务的每个存储过程分别对应一数据库脚本源文件。步骤101中的加载数据库脚 本源文件,是指加载用户从多个数据库脚本源文件中所选择的一数据库脚本源文件。
[0043] 如图2所示,为本申请的生成数据库脚本的方法的操作界面,界面下部包含一个 树形结构和两个编辑框。树形结构的末端节点为数据库脚本源文件,图中是多个数据库脚 本源文件的示例,每个数据库脚本源文件都是所有地区共用的代码,例如,都以.sql结尾。 当用户双击树形结构的某个末端节点时,则加载用户双击的数据库脚本源文件,在右边较 大的编辑框中就会显示出用户所选择的数据库脚本源文件的代码。本申请中还可以通过文 字颜色对数据库脚本源文件的不同内容加以标识,比如关键字的颜色处理、注释的颜色处 理,以及编译选项的颜色处理等。
[0044] 在图2中,存储过程cur_test_2中的宁夏联通和贵州联通的处理方式不相同,在 数据库脚本源文件cur_teSt_2. sql中包含两个地区不同的区别脚本部分,利用编译选项 加以分开,代码如下:
[0045]

【权利要求】
1. 一种生成数据库脚本的方法,其特征在于,包括: 加载数据库脚本源文件,所述数据库脚本源文件中包含多个不同地区业务的公共脚本 部分和区别脚本部分,在所述数据库脚本源文件中通过编译选项标识所述区别脚本部分; 获取用户对需要生成数据库脚本的地区的选择,根据用户所选地区对应的编译选项从 所述数据库脚本源文件中提取有效代码,所述有效代码包含所述公共脚本部分以及用户所 选地区对应的编译选项所标识的区别脚本部分。
2. 如权利要求1所述的方法,其特征在于,所述方法还包括: 在获取用户对需要生成数据库脚本的地区的选择后,根据用户所选地区对应的编译选 项从所述数据库脚本源文件中提取有效代码前,还将所述数据库脚本源文件中用户所选地 区对应的编译选项之外的其他编译选项所标识的区别脚本部分设置为无效。
3. 如权利要求2所述的方法,其特征在于,所述方法还包括: 在获取用户对需要生成数据库脚本的地区的选择后,将所述数据库脚本源文件中用户 所选地区对应的编译选项之外的其他编译选项所标识的区别脚本部分设置为无效前,还获 取用户对所选地区的数据库服务器的选择,用户选择的服务器包括测试服务器和正式服务 器;并且, 在提取有效代码后,确定用户选择的服务器的类型,如果用户选择的服务器为测试服 务器,则将有效代码执行到所述测试服务器进行测试;如果用户选择的服务器为正式服务 器,则将有效代码作为有效的数据库脚本执行到所述正式服务器。
4. 如权利要求3所述的方法,其特征在于,所述方法还包括: 在将所述数据库脚本源文件中用户所选地区对应的编译选项之外的其他编译选项所 标识的区别脚本部分设置为无效后,提取有效代码前,还接收用户对有效代码的修改,在用 户完成修改后,进行所述提取有效代码。
5. 如权利要求1?4任意之一所述的方法,其特征在于: 所述数据库脚本源文件为多个,业务的每个存储过程分别对应一数据库脚本源文件; 所述加载数据库脚本源文件,包括:加载用户从多个数据库脚本源文件中选择的数据 库脚本源文件。
6. -种生成数据库脚本的装置,其特征在于,包括:加载单元、获取单元和提取单元, 其中: 所述加载单元,用于加载数据库脚本源文件,所述数据库脚本源文件中包含多个不同 地区业务的公共脚本部分和区别脚本部分,在所述数据库脚本源文件中通过编译选项标识 所述区别脚本部分; 所述获取单元,用于获取用户对需要生成数据库脚本的地区的选择; 所述提取单元,用于根据用户所选地区对应的编译选项从所述数据库脚本源文件中提 取有效代码,所述有效代码包含所述公共脚本部分以及用户所选地区对应的编译选项所标 识的区别脚本部分。
7. 如权利要求6所述的装置,其特征在于,所述装置还包括无效设置单元,其中: 所述无效设置单元,用于在所述获取单元获取用户对需要生成数据库脚本的地区的选 择后,所述提取单元根据用户所选地区对应的编译选项从所述数据库脚本源文件中提取有 效代码前,还将所述数据库脚本源文件中用户所选地区对应的编译选项之外的其他编译选 项所标识的区别脚本部分设置为无效。
8. 如权利要求7所述的装置,其特征在于,所述装置还包括执行单元,其中: 所述获取单元,还用于在获取用户对需要生成数据库脚本的地区的选择后,所述无效 设置单元将所述数据库脚本源文件中用户所选地区对应的编译选项之外的其他编译选项 所标识的区别脚本部分设置为无效前,获取用户对所选地区的数据库服务器的选择,用户 选择的服务器包括测试服务器和正式服务器; 所述执行单元,用于在所述提取单元提取有效代码后,确定用户选择的服务器的类型, 如果用户选择的服务器为测试服务器,则将有效代码执行到所述测试服务器进行测试;如 果用户选择的服务器为正式服务器,则将有效代码作为有效的数据库脚本执行到所述正式 服务器。
9. 如权利要求8所述的装置,其特征在于,所述装置还包括修改单元,其中: 所述修改单元,用于在所述无效设置单元将所述数据库脚本源文件中用户所选地区对 应的编译选项之外的其他编译选项所标识的区别脚本部分设置为无效后,所述提取单元提 取有效代码前,接收用户对有效代码的修改,在用户完成修改后,通知所述提取单元提取有 效代码。
10. 如权利要求6?9任意之一所述的装置,其特征在于: 所述数据库脚本源文件为多个,业务的每个存储过程分别对应一数据库脚本源文件; 所述加载单元加载数据库脚本源文件,包括:加载用户从多个数据库脚本源文件中选 择的数据库脚本源文件。
【文档编号】G06F17/30GK104391845SQ201410131045
【公开日】2015年3月4日 申请日期:2014年4月2日 优先权日:2014年4月2日
【发明者】易昕, 王海, 付清文, 牟雪, 徐飞 申请人:贵阳朗玛信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1