掌桥专利:专业的专利平台
掌桥专利
首页

数据库快速搭建方法及装置

文献发布时间:2023-06-19 12:24:27


数据库快速搭建方法及装置

技术领域

本发明属于数据库技术领域,具体涉及一种数据库快速搭建方法及装置。

背景技术

为了满足快速应用的快速迭代,在多个应用多个版本并行迭代中,往往多个业务方有着相互依赖,此时就需要一套干净的环境来联调不同迭代版本的功能。因为需要在很短时间内将一个测试环境搭建完成,但每个环境对应的业务应用及业务数据库都有着不同的版本。

在环境搭建过程中,应用代码可以通过发布工具快速打包生成并布置,但数据库不同,有很多地方需要考虑,如表的结构、字段、视图、存储过程、函数等,这些都需要有历史版本的依赖,并不是随便生成一个库就可以用。正是因为它有着版本的要求,导致我们需要准备一个最近的生产的源库做为测试环境的基础库。但在使用这种生产库时需要申请并且需要DBA同事支持。如果将申请走完,DBA同事同步完源数据库到测试环境可能需要好几个小时甚至需要更久的时间,但在快速迭代过程中往往需要不断的创建测试环境测试完之后再快速销毁环境以达到快速迭代的要求,也就是在业务反复快速迭代中,数据库需要不断重复创建及销毁,数据库管理同事需要找到源数据库,反复同步源数据库到测试库,消耗人力和时间。因此,目前无法达到快速搭建数据库的目的,也严重影响了效率。

发明内容

有鉴于此,本发明的目的在于克服现有技术的不足,提供一种数据库快速搭建方法及装置,以解决现有技术中测试环境搭建中业务数据库搭建缓慢,严重影响了效率的问题。

为实现以上目的,本发明采用如下技术方案:一种数据库快速搭建方法,包括:

获取源数据库;

获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本;

根据预设的用户信息和权限信息创建目标库,并根据获取的配置表结构和视图脚本和存储过程脚本在所述目标库中创建表结构、创建存储过程。

进一步的,所述获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本,包括:

获取所述源数据库中的表结构和视图的DDL脚本,所述DDL脚本包括索引信息;

获取所述源数据库中的存储过程的SQL脚本。

进一步的,在创建目标库之前,还包括:

判断服务器中是否存在目标库;

如果存在,则删除当前的目标库再创建新的目标库;

如果不存在,则直接创建目标库。

进一步的,所述根据预设的用户信息和权限信息创建目标库,包括:

在服务器上创建目标库;

根据预设的用户信息创建用户,并且根据预设的权限信息为用户分配权限。

进一步的,在所述目标库中创建表结构时,

如果所述表结构为配置表,则将表数据插入到所述配置表中。

进一步的,利用Python语言创建目标库。

本申请实施例提供一种数据库快速搭建装置,包括:

第一获取模块,用于获取源数据库;

第二获取模块,用于获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本;

创建模块,用于根据预设的用户信息和权限信息创建目标库,并根据获取的配置表结构和视图脚本和存储过程脚本在所述目标库中创建表结构、创建存储过程。

本发明采用以上技术方案,能够达到的有益效果包括:

本发明提供一种数据库快速搭建方法及装置,包括获取源数据库;获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本;根据预设的用户信息和权限信息创建目标库,并根据获取的配置表结构和视图脚本和存储过程脚本在所述目标库中创建表结构、创建存储过程。本发明是通过代码去快速生成数据库表结构、视图、存储过程函数等。和之前的几个小时相比,这种方法可能只需要几分钟就可以完成,并且可以反复利用,大大提高的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明数据库快速搭建方法的步骤示意图;

图2为本发明数据库快速搭建方法的流程示意图;

图3为本发明数据库快速搭建装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

下面结合附图介绍本申请实施例中提供的一个具体的数据库快速搭建方法及装置。

如图1所示,本申请实施例中提供的数据库快速搭建方法包括:

S101,获取源数据库;

S102,获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本;

S103,根据预设的用户信息和权限信息创建目标库,并根据获取的配置表结构和视图脚本和存储过程脚本在所述目标库中创建表结构、创建存储过程。

数据库快速搭建方法的工作原理为:参见图2,,获取源数据库;获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本;根据预设的用户信息和权限信息创建目标库,并根据获取的配置表结构和视图脚本和存储过程脚本在所述目标库中创建表结构、创建存储过程。

一些实施例中,所述获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本,包括:

获取所述源数据库中的表结构和视图的DDL脚本,所述DDL脚本包括索引信息;

获取所述源数据库中的存储过程的SQL脚本。

一些实施例中,在创建目标库之前,还包括:

判断服务器中是否存在目标库;

如果存在,则删除当前的目标库再创建新的目标库;

如果不存在,则直接创建目标库。

一些实施例中,所述根据预设的用户信息和权限信息创建目标库,包括:

在服务器上创建目标库;

根据预设的用户信息创建用户,并且根据预设的权限信息为用户分配权限。

一些实施例中,在所述目标库中创建表结构时,

如果所述表结构为配置表,则将表数据插入到所述配置表中。

优选的,本申请利用Python语言创建目标库。

具体的,作为一个优选的实施方式,如图2所示,具体实现步骤如下:

步骤1,先选择一个源数据库,尽量以生产版本一致这样才能覆盖数据库的所有版本。

步骤2,在创建数据库之前用户需要知道当前需要创建的库名是什么,然后可以通过提前配置好的库名和用户名称及权限信息,然后根据目标库名在服务器上创建目标库,根据用户信息创建用户,并且为用户分配权限。

步骤3,在创建表结构时,根据Mysql的SHOW TABLES命令得到源库中所有的表名,并且根据这些表名和Mysql的show create table命令得到这些表和视图的DDL脚本包含索引信息,然后在目标库中创建这些表结构,与此同时,如果当前表是配置表(如:地区、国家、省份等)则需要将表数据也插入到表中。

步骤4,根据Mysql show procedure status得到所有的源数据库的所有存储过程名称,再通过Mysql show create procedure命令获取每个存储过程名称,利用循环将这些存储过程批量创建到目标库。

本申请通过上述步骤,根据Mysql语言的相关命令及业务数据特点,利用Python编程语言快速创建目标库,完成环境快速搭建中数据库快速创建的目的。

如图3所示,本申请提供的数据库快速搭建装置,其特征在于,包括:

第一获取模块301,用于获取源数据库;

第二获取模块302,用于获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本;

创建模块303,用于根据预设的用户信息和权限信息创建目标库,并根据获取的配置表结构和视图脚本和存储过程脚本在所述目标库中创建表结构、创建存储过程。

本申请提供的数据库快速搭建装置的工作原理是,第一获取模块301获取源数据库;第二获取模块302获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本;创建模块303根据预设的用户信息和权限信息创建目标库,并根据获取的配置表结构和视图脚本和存储过程脚本在所述目标库中创建表结构、创建存储过程。

本申请实施例提供一种计算机设备,包括处理器,以及与处理器连接的存储器;

存储器用于存储计算机程序,计算机程序用于执行上述任一实施例提供的数据库快速搭建方法;

处理器用于调用并执行存储器中的计算机程序。

综上所述,本发明提供一种数据库快速搭建方法及装置,包括获取源数据库;获取所述源数据库中的所有配置表结构和视图脚本、存储过程脚本;根据预设的用户信息和权限信息创建目标库,并根据获取的配置表结构和视图脚本和存储过程脚本在所述目标库中创建表结构、创建存储过程。本发明是通过代码去快速生成数据库表结构、视图、存储过程函数等。和之前的几个小时相比,这种方法可能只需要几分钟就可以完成,并且可以反复利用,大大提高的效率。

可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 数据库快速搭建方法及装置
  • 数据库搭建方法、装置及电子设备
技术分类

06120113284142