CN107092557A - 一种数据库架构升级脚本验证方法和装置 - Google Patents
一种数据库架构升级脚本验证方法和装置 Download PDFInfo
- Publication number
- CN107092557A CN107092557A CN201710183881.9A CN201710183881A CN107092557A CN 107092557 A CN107092557 A CN 107092557A CN 201710183881 A CN201710183881 A CN 201710183881A CN 107092557 A CN107092557 A CN 107092557A
- Authority
- CN
- China
- Prior art keywords
- framework
- database
- script
- upgrade
- script file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Abstract
本发明公开了一种数据库架构升级脚本验证方法和装置,方法包括:S1、提取待升级SQL SERVER数据库的架构并生成架构脚本文件;S2、将架构脚本文件中的架构部署至测试SQL SERVER数据库中;S3、在所述测试SQL SERVER数据库中执行待测试的架构升级脚本文件并获取升级结果,以验证所述待测试的架构升级脚本文件的正确性。本发明能够简单地搭建逼真的升级环境用于验证SQL SERVER数据库更新脚本的正确性,避免更新脚本问题导致的SQL SERVER数据库升级风险,保证SQL SERVER数据库架构升级脚本一次成功。
Description
技术领域
本发明涉及数据库处理技术领域,具体涉及一种应用于SQL SERVER数据库的架构升级脚本验证方法。
背景技术
数据库是应用系统最底层的数据存储,所以数据库更新也是系统更新最敏感和谨慎的操作。目前在升级生产环境数据库架构之前,脚本都会经过人工审查,UAT(用户验收测试)执行验证的环节来保证升级脚本的准确性。这种方式不仅对审查人员和UAT环境的逼真度都要比较高的要求,而且由于管理的复杂性,并不能完全杜绝审查和验证环境未发现的问题给生产环境更新造成破坏的风险,也降低了升级的效率。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种数据库架构升级脚本验证方法和装置,用于验证数据库更新脚本的准确性,避免更新脚本问题导致的数据库升级风险。
为解决上述问题,本发明所采用的技术方案如下:
方案一:
一种数据库架构升级脚本验证方法,包括以下步骤:
S1、提取待升级数据库的架构并生成架构脚本文件;
S2、将架构脚本文件中的架构部署至所述测试数据库中;
S3、在所述测试数据库中执行待测试的架构升级脚本文件并获取升级结果,以验证所述待测试的架构升级脚本文件的正确性。
优选的,在步骤S3后还包括:
S4、当判断升级结果为升级成功,则在所述待升级数据库中执行所述待测试的架构升级脚本文件。
优选的,所述待升级数据库为SQL SERVER数据库;在步骤S1中,通过在待升级数据库中执行“提取数据层应用程序”功能生成架构脚本文件。
优选的,在步骤S2中,通过通过在待升级数据库中执行“部署数据库应用程序”功能使架构脚本文件中的架构部署至所述测试数据库中。
方案二:
一种数据库架构升级脚本验证装置,包括以下模块:
脚本提取模块:用于提取待升级数据库的架构并生成架构脚本文件;
脚本测试模块:用于将架构脚本文件中的架构部署至所述测试数据库中;
升级验证模块:用于在所述测试数据库中执行待测试的架构升级脚本文件并获取升级结果,以验证所述待测试的架构升级脚本文件的正确性。
优选的,在升级验证模块后还包括:
判断升级模块:用于当判断升级结果为升级成功,则在所述待升级数据库中执行所述待测试的架构升级脚本文件。
优选的,所述待升级数据库为SQL SERVER数据库;在脚本提取模块中,通过在待升级数据库中执行“提取数据层应用程序”功能生成架构脚本文件。
优选的,在脚本测试模块中,通过在待升级数据库中执行“部署数据库应用程序”功能使架构脚本文件中的架构部署至所述测试数据库中。
相比现有技术,本发明的有益效果在于:
能够简单地复制数据库架构(仅架构对象,不包含数据)来搭建逼真的升级环境用于验证数据库更新脚本的正确性,避免更新脚本问题导致的数据库升级风险,保证数据库架构升级脚本一次成功,提高数据库升级效率。
附图说明
图1为本发明数据库架构升级脚本验证方法的流程图。
图2为本发明数据库架构升级脚本验证装置的结构图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
本实施例以待升级数据库、测试数据库均采用SQL SERVER数据库为例进行说明。
如图1所示,本发明公开了一种数据库架构升级脚本验证方法,包括以下步骤:
S1、提取待升级SQL SERVER数据库的架构并生成架构脚本文件;
S2、将架构脚本文件中的架构部署至测试SQL SERVER数据库中;
S3、在所述测试SQL SERVER数据库中执行待测试的架构升级脚本文件并获取升级结果,以验证所述待测试的架构升级脚本文件的正确性;
S4、当判断升级结果为升级成功,则在所述待升级SQL SERVER数据库中执行所述待测试的架构升级脚本文件。
在步骤S1中,通过在待升级SQL SERVER数据库中执行“提取数据层应用程序”功能生成架构脚本文件,在SQL SERVER 2008R2以上版本具有“提取数据层应用程序”功能,其生成的架构脚本文件不包含数据库中的数据,仅创建一个完整的数据库架构副本,文件体积很小,便于移动和传输。另外,还可以通过在待升级SQL SERVER数据库中执行“生成脚本”功能生成数据库脚本,但是因为数据库架构对象关联复杂性,通过该方式生成的脚本存在执行失败的概率。
在步骤S2中,通过在待升级SQL SERVER数据库中执行“部署数据库应用程序”功能(在SQL SERVER 2008R2以上版本具有该功能)使架构脚本文件中的架构部署至所述测试SQL SERVER数据库中,此时测试SQL SERVER数据库具有和待升级SQL SERVER数据库一模一样的架构,该测试SQL SERVER数据库将用于架构升级脚本的测试验证。
在步骤S4中判断步骤S3中的升级结果为升级成功后,表示该待测试的架构升级脚本文件正确,则在待升级SQL SERVER数据库中执行该待测试的架构升级脚本文件,保证待升级SQL SERVER数据库能够成功升级架构。
通过本发明的方法能够简单地复制SQL SERVER数据库架构(仅架构对象,不包含数据)来搭建逼真的升级环境用于验证SQL SERVER数据库更新脚本的正确性,避免更新脚本问题导致的SQL SERVER数据库升级风险,保证SQL SERVER数据库架构升级脚本一次成功,提高数据库升级效率。
如图2所示,本发明还公开了一种对应于上述方法的一种数据库架构升级脚本验证装置,包括以下模块:
脚本提取模块:用于提取待升级SQL SERVER数据库的架构并生成架构脚本文件;
脚本测试模块:用于将架构脚本文件中的架构部署至测试SQL SERVER数据库中;
升级验证模块:用于在所述测试SQL SERVER数据库中执行待测试的架构升级脚本文件并获取升级结果,以验证所述待测试的架构升级脚本文件的正确性。
判断升级模块:用于当判断升级结果为升级成功,则在所述待升级SQL SERVER数据库中执行所述待测试的架构升级脚本文件。
在脚本提取模块中,通过在待升级SQL SERVER数据库中执行“提取数据层应用程序”功能生成架构脚本文件。
在脚本测试模块中,通过在待升级SQL SERVER数据库中执行“部署数据库应用程序”功能使架构脚本文件中的架构部署至所述测试SQL SERVER数据库中。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (8)
1.一种数据库架构升级脚本验证方法,其特征在于,包括以下步骤:
S1、提取待升级数据库的架构并生成架构脚本文件;
S2、将架构脚本文件中的架构部署至测试数据库中;
S3、在所述测试数据库中执行待测试的架构升级脚本文件并获取升级结果,以验证所述待测试的架构升级脚本文件的正确性。
2.根据权利要求1所述的数据库架构升级脚本验证方法,其特征在于,在步骤S3后还包括:
S4、当判断升级结果为升级成功,则在所述待升级数据库中执行所述待测试的架构升级脚本文件。
3.根据权利要求1所述的数据库架构升级脚本验证方法,其特征在于,所述待升级数据库为SQL SERVER数据库;在步骤S1中,通过在待升级数据库中执行“提取数据层应用程序”功能生成架构脚本文件。
4.根据权利要求3所述的数据库架构升级脚本验证方法,其特征在于,在步骤S2中,通过在待升级数据库中执行“部署数据库应用程序”功能使架构脚本文件中的架构部署至所述测试数据库中。
5.一种数据库架构升级脚本验证装置,其特征在于,包括以下模块:
脚本提取模块:用于提取待升级数据库的架构并生成架构脚本文件;
脚本测试模块:用于将架构脚本文件中的架构部署至测试数据库中;
升级验证模块:用于在所述测试数据库中执行待测试的架构升级脚本文件并获取升级结果,以验证所述待测试的架构升级脚本文件的正确性。
6.根据权利要求5所述的数据库架构升级脚本验证装置,其特征在于,在升级验证模块后还包括:
判断升级模块:用于当判断升级结果为升级成功,则在所述待升级数据库中执行所述待测试的架构升级脚本文件。
7.根据权利要求5所述的数据库架构升级脚本验证装置,其特征在于,所述待升级数据库为SQL SERVER数据库;在脚本提取模块中,通过在待升级数据库中执行“提取数据层应用程序”功能生成架构脚本文件。
8.根据权利要求7所述的数据库架构升级脚本验证装置,其特征在于,在脚本测试模块中,通过在待升级数据库中执行“部署数据库应用程序”功能使架构脚本文件中的架构部署至所述测试数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710183881.9A CN107092557A (zh) | 2017-03-24 | 2017-03-24 | 一种数据库架构升级脚本验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710183881.9A CN107092557A (zh) | 2017-03-24 | 2017-03-24 | 一种数据库架构升级脚本验证方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107092557A true CN107092557A (zh) | 2017-08-25 |
Family
ID=59649042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710183881.9A Pending CN107092557A (zh) | 2017-03-24 | 2017-03-24 | 一种数据库架构升级脚本验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107092557A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032611A (zh) * | 2018-06-06 | 2018-12-18 | 平安科技(深圳)有限公司 | 脚本部署方法、装置、计算机设备及存储介质 |
CN109271199A (zh) * | 2018-09-11 | 2019-01-25 | 航天信息软件技术有限公司 | 一种用于数据库持续集成与脚本文件管理的方法及系统 |
CN110825413A (zh) * | 2019-11-04 | 2020-02-21 | 江苏金智教育信息股份有限公司 | 一种数据库升级方法和装置以及应用部署升级方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102511A (zh) * | 2014-07-17 | 2014-10-15 | 福建星海通信科技有限公司 | 一种基于SQL Server的脚本自动升级系统及方法 |
US20160055199A1 (en) * | 2012-03-29 | 2016-02-25 | International Business Machines Corporation | Managing test data in large scale performance environment |
-
2017
- 2017-03-24 CN CN201710183881.9A patent/CN107092557A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160055199A1 (en) * | 2012-03-29 | 2016-02-25 | International Business Machines Corporation | Managing test data in large scale performance environment |
CN104102511A (zh) * | 2014-07-17 | 2014-10-15 | 福建星海通信科技有限公司 | 一种基于SQL Server的脚本自动升级系统及方法 |
Non-Patent Citations (1)
Title |
---|
刘宁 等: ""如何将DB2升级到V10.5"", 《HTTPS://WWW.IBM.COM/DEVELOPERWORKS/CN/DATA/LIBRARY/TECHARTICLE/DM-1403DB2_MIGRATION/#ICOMMENTS》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032611A (zh) * | 2018-06-06 | 2018-12-18 | 平安科技(深圳)有限公司 | 脚本部署方法、装置、计算机设备及存储介质 |
CN109032611B (zh) * | 2018-06-06 | 2022-01-28 | 平安科技(深圳)有限公司 | 脚本部署方法、装置、计算机设备及存储介质 |
CN109271199A (zh) * | 2018-09-11 | 2019-01-25 | 航天信息软件技术有限公司 | 一种用于数据库持续集成与脚本文件管理的方法及系统 |
CN110825413A (zh) * | 2019-11-04 | 2020-02-21 | 江苏金智教育信息股份有限公司 | 一种数据库升级方法和装置以及应用部署升级方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032611B (zh) | 脚本部署方法、装置、计算机设备及存储介质 | |
CN104462981B (zh) | 漏洞检测方法及装置 | |
CN106446691A (zh) | 检测软件中集成或定制的开源项目漏洞的方法和装置 | |
WO2015176431A1 (zh) | 一种测试数据的生成方法及装置 | |
CN106537333A (zh) | 用于软件产物的数据库的系统和方法 | |
CN112764784B (zh) | 基于神经机器翻译的软件缺陷自动修复方法及装置 | |
CN107092557A (zh) | 一种数据库架构升级脚本验证方法和装置 | |
CN107301070A (zh) | 一种升级方法及终端 | |
CN106294171A (zh) | 产品自动部署的测试系统、方法和装置 | |
US9047260B2 (en) | Model-based testing of a graphical user interface | |
CN107678936A (zh) | 业务系统预先稽查方法、服务器及计算机可读存储介质 | |
CN101963911A (zh) | 补丁生成方法和装置 | |
CN106325902A (zh) | 数据库软件升级检测方法及装置 | |
US20170091082A1 (en) | Test db data generation apparatus | |
CN109964201B (zh) | 自动检测、校正和翻译非本地化行的方法 | |
CN106709281A (zh) | 补丁发放和获取方法、装置 | |
CN110427757A (zh) | 一种Android漏洞检测方法、系统及相关装置 | |
CN107247614A (zh) | 在软件编译时检查应用信息的方法 | |
CN113268470A (zh) | 一种高效的数据库回滚方案验证方法 | |
CN112257382A (zh) | 用于芯片设计的物理验证方法、系统、设备以及存储介质 | |
KR101563494B1 (ko) | 파일 변경에 따른 실시간 소스코드 보안 약점 탐지 장치 및 방법 | |
CN110489336A (zh) | 一种软件接口测试用例生成与维护方法及其装置 | |
Lavoie et al. | A case study of TTCN-3 test scripts clone analysis in an industrial telecommunication setting | |
CN113672233B (zh) | 一种基于Redfish的服务器带外管理方法、装置及设备 | |
US8751988B1 (en) | Computer-implemented methods and systems for automatic generation of layout versus schematic (LVS) rule files and regression test data suites |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170825 |
|
RJ01 | Rejection of invention patent application after publication |