CN110633284B - 数据库中表的变更方法及装置 - Google Patents

数据库中表的变更方法及装置 Download PDF

Info

Publication number
CN110633284B
CN110633284B CN201910886004.7A CN201910886004A CN110633284B CN 110633284 B CN110633284 B CN 110633284B CN 201910886004 A CN201910886004 A CN 201910886004A CN 110633284 B CN110633284 B CN 110633284B
Authority
CN
China
Prior art keywords
database
change
ddl
target table
script
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.)
Active
Application number
CN201910886004.7A
Other languages
English (en)
Other versions
CN110633284A (zh
Inventor
陈光柳
温建波
郑培龙
吴宏招
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910886004.7A priority Critical patent/CN110633284B/zh
Publication of CN110633284A publication Critical patent/CN110633284A/zh
Application granted granted Critical
Publication of CN110633284B publication Critical patent/CN110633284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据库中表的变更方法及装置,方法包括:获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更。本发明能够将表的变更信息转换为DDL脚本,实现对表进行变更,提高了表变更的准确性,并且表的变更操作简单,易用性高,可推广性较强;自动调取和执行DDL脚本,能够避免表的变更文件漏提交,进一步确保了各个环境表的一致性,降低了数据治理和维护难度。

Description

数据库中表的变更方法及装置
技术领域
本发明涉及数据库技术领域,具体涉及一种数据库中表的变更方法及装置。
背景技术
随着互联网和信息化技术的不断发展,应用软件的版本发布频率也越来越快,应用软件的每个版本对应的项目包含多个子应用,每个子应用又调取若干数据库,每个数据库包含了数据库实例(dbname)、数据库所有者(dbowner)、表和数据存储过程。应用软件的版本发布实际上是将当前版本下所有变更的表、数据存储过程和代码等程序打包成版本包,利用推送工具将代码推送至版本库,对版本库进行部署从而实现版本变更。
目前,对应用软件调取数据库的表进行变更,需要手工生成变更文件,并将变更文件进行部署,实现表变更。
但是,随着数据呈指数型增长,当表变更数据量巨大时,手工生成和提交表变更文件会降低版本发布速率,而且当在开发环境或者测试环境修改了表,却漏提交表变更文件,会导致实际部署环境与开发环境的表不一致,引起数据错误,增加了后续的数据治理和维护难度。
发明内容
针对现有技术中的问题,本发明提供一种对数据库中表的变更方法及装置,能够提高表变更的准确性,还能够确保各个环境表的一致性。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种数据库中表的变更方法,包括:
获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;
采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;
自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更。
进一步的,在基于所述数据库中的目标表和对应的变更信息生成DDL脚本之后,还包括:
将所述DDL脚本进行存储并在预设列表中生成所述DDL脚本对应的查询条目。
进一步的,在所述自动调取并执行所述DDL脚本以对所述数据库中的目标表进行变更之后,还包括:
将所述变更后的目标表进行程序打包处理生成版本包,并对所述版本包进行版本部署。
进一步的,在对所述版本包进行版本部署之后,还包括:
根据所述版本包进行版本部署结果对变更后的目标表所对应的状态进行标记;
其中,若版本部署的结果为成功,则所述目标表所对应的状态标记为已安装;若版本部署的结果为失败,则目标表所对应的状态标记为安装失败。
其中,所述变更信息,包括:新增信息、修改信息和删除信息中的至少一种;
其中,所述新增信息包括:表基本数据、字段数据、索引数据和约束数据中至少一种;所述修改信息包括:对表基本数据、字段数据、索引数据和约束数据中至少一种进行修改的信息。
其中,所述采用预设的DDL语法规则并基于所述数据库中的目标表和对应的变更信息生成DDL脚本,包括:
以所述数据库中的目标表为基准,将所述变更信息转换为DDL语句;
采用预设的DDL语法规则并基于所述DDL语句生成DDL脚本。
其中,所述DDL脚本包括:增量DDL脚本和/或发布DDL脚本;
相对应的,所述对所述数据库中的目标表进行变更,包括:
自动调取并执行所述增量DDL脚本对测试环境下的数据库中的目标表进行变更;或者,
自动调取并执行所述发布DDL脚本对生产环境下的数据库中的目标表进行变更。
第二方面,本发明提供一种数据库中表的变更装置,包括:
获取单元,用于获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;
转换单元,用于采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;
变更单元,用于自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更。
进一步的,还包括:
查询单元,用于将所述DDL脚本进行存储并在预设列表中并生成所述DDL脚本对应的查询条目。
进一步的,还包括:
部署单元,用于将所述变更后的目标表进行程序打包处理生成版本包,并对所述版本包进行版本部署。
进一步的,还包括:
标记单元,用于根据所述版本包进行版本部署结果对变更后的目标表所对应的状态进行标记;
其中,若版本部署的结果为成功,则所述目标表所对应的状态标记为已安装;若版本部署的结果为失败,则目标表所对应的状态标记为安装失败。
其中,所述变更信息,包括:新增信息、修改信息和删除信息中的至少一种;
其中,所述新增信息包括:表基本数据、字段数据、索引数据和约束数据中至少一种;所述修改信息包括:对表基本数据、字段数据、索引数据和约束数据中至少一种进行修改的信息。
其中,所述转换单元包括:
转换模块,用于以所述数据库中的目标表为基准,将所述变更信息转换为DDL语句;
生成模块,用于采用预设的DDL语法规则并基于所述DDL语句生成DDL脚本。
其中,所述DDL脚本包括:增量DDL脚本和/或发布DDL脚本;
相对应的,所述变更单元,包括:
第一变更子单元,用于自动调取并执行所述增量DDL脚本对测试环境下的数据库中的目标表进行变更;
第二变更子单元,用于自动调取并执行所述发布DDL脚本对生产环境下的数据库中的目标表进行变更。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的数据库中表的变更方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的数据库中表的变更方法的步骤。
由上述技术方案可知,本发明提供一种数据库中表的变更方法及装置,通过获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更,能够将表的变更信息转换为DDL脚本,实现对表进行变更,提高了表变更的准确性,并且表的变更操作简单,易用性高,可推广性较强;自动调取和执行DDL脚本,能够避免表的变更文件漏提交,进一步确保了各个环境表的一致性,降低了数据治理和维护难度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的数据库中表的变更方法的第一种流程示意图。
图2为本发明实施例中的数据库中表的变更方法的第二种流程示意图。
图3为本发明实施例中的数据库中表的变更方法的第三种流程示意图。
图4为本发明实施例中的数据库中表的变更装置的第一种结构示意图。
图5为本发明实施例中的数据库中表的变更装置的第二种结构示意图。
图6为本发明实施例中的数据库中表的变更装置的第三种结构示意图。
图7为本发明实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种数据库中表的变更方法的实施例,参见图1,所述数据库中表的变更方法具体包含有如下内容:
S101:获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;
可以理解的是,对软件应用调用的数据库中的表进行变更,包括:新增表、修改表和删除表中至少一种。
其中,新增表,用户在表登记系统上对表的修改信息进行登记,具体登记内容为:表基本信息、字段信息、索引信息和约束信息中至少一种。
需要说明的是,表基本信息包括:应用、所属版本、数据库环境、表英文名、和表中文名;字段信息包括:字段英文名、字段中文名、类型和长度;索引信息包括:名称、索引列和索引分区类型;约束信息包括:约束名称、类型和表列数据。
登记完表的修改信息后,可以设置表的低版本自动向高版本同步,即表的最高版本包含了所有的表信息。
修改表,对表基本信息、字段信息、索引信息和约束信息进行修改。
删除表,直接登记表删除。
在本步骤中,用户在表登记系统上登记变更信息,该表登记系统将变更信息转换为变更指令。其中,变更信息包括新增信息、修改信息和删除信息中的至少一种。
需要说明的是,新增信息包括:表基本数据、字段数据、索引数据和约束数据中至少一种;修改信息包括:对表基本数据、字段数据、索引数据和约束数据中至少一种进行修改的信息;删除信息包括:对表基本数据、字段数据、索引数据和约束数据中至少一种进行删除的信息,表基本数据包括:名称、日期、类型和大小。
S102:采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;
在本步骤中,预先设定将数据库中的目标表和变更信息转换为DDL脚本的DDL语法规则。通过步骤S101得到变更信息后,以数据库中的目标表为基准,参照变更信息,确定数据库中的目标表的变更内容,将变更内容转换为DDL语句,采用预设的DDL语法规则并基于DDL语句生成DDL脚本。
其中,DDL脚本包括:增量DDL脚本和/或发布DDL脚本,增量DDL脚本为本次变更的内容,发布DDL脚本为当前版本下该表所有的变更信息。
通过将登记的表变更信息自动生成表变更脚本,保证了表变更脚本的准确性,而且操作简单,易用性高,可推广性较强。
需要说明的是,数据库中的目标表包括:增量基线版本信息和发布基线版本信息。基线版本信息包括:基线、字段、约束、索引以及表空间属性,表空间属性指表的所属类型,基线包括:增量基线和发布基线。增量基线为上一次变更的表,发布基线为上一版本的表。
S103:自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更。
在本步骤中,通过自动调取DDL脚本,替代了人工提交表变更文件,避免了表变更文件漏提交的情况,确保各个环境表的一致性,降低了数据治理和维护难度。
其中,DDL脚本包括:增量DDL脚本和/或发布DDL脚本;在对所述数据库中的目标表进行变更时,自动调取并执行所述增量DDL脚本对测试环境下的数据库中的目标表进行变更;或者,自动调取并执行所述发布DDL脚本对生产环境下的数据库中的目标表进行变更。
从上述描述可知,本发明实施例提供的数据库中表的变更方法,通过获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更,能够将表的变更信息转换为DDL脚本,实现对表进行变更,提高了表变更的准确性,并且表的变更操作简单,易用性高,可推广性较强;自动调取和执行DDL脚本,能够避免表的变更文件漏提交,进一步确保了各个环境表的一致性,降低了数据治理和维度难度。
在本发明的一实施例中,参见图2,所述数据库中表的变更方法的步骤S102之后还包括步骤S104,具体包含有如下内容:
S104:将所述DDL脚本进行存储并在预设列表中生成所述DDL脚本对应的查询条目。
在本步骤中,将DDL脚本存储至资源平台并生成DDL脚本对应的查询条目,使得该DDL脚本能够进行复用。在资源平台上通过输入对应的条件进行查询并确定对应的DDL脚本,实现将登记的表更改信息形成资产,为后续的维护和数据治理提供了基础。
在本发明的一实施例中,参见图3,所述数据库中表的变更方法的步骤S103之后还包括步骤S105,具体包含有如下内容:
S105:将所述变更后的目标表进行程序打包处理生成版本包,并对所述版本包进行版本部署。
在本步骤中,通过编译制作版本包系统发起制作版本包,该系统可以选择制作过程版本包和交付版本包。其中,制作过程版本包得到的为增量DDL脚本,制作交付版本包得到的为发布DDL脚本。
需要说明的是,通过编译制作版本包系统获取的DDL文件,从文件名可以识别表的变更类型;例如:新增表的DDL文件名由0005create+表名.sql组成;修改表的DDL文件名为0005alter+表名.sql;删除表则为0005drop+表名.sql。可以快速识别出该版本下各个软件应用所调取数据库中表结构的变更情况。
进一步的,在所述对所述版本包进行版本部署之后,根据所述版本包进行版本部署结果对变更后的目标表所对应的状态进行标记;
其中,若版本部署的结果为成功,则所述目标表所对应的状态标记为已安装;若版本部署的结果为失败,则目标表所对应的状态标记为安装失败,以便用户实时查询每张表最新的安装结果。
从上述描述可知,本发明实施例提供的数据库中表的变更方法,通过将登记的表变更信息自动生成表变更脚本,保证表变更脚本的准确性,而且操作简单,易用性高,可推广性较强;通过自动获取表变更脚本,替代了人工提交表变更文件,避免了文件漏提交的情况,进一步确保了各个环境表的一致性。通过将登记的表变更信息转换DDL脚本进行存储,实现将表变更信息变成资产,还能够复用DDL脚本,为后续的维护和数据治理提供了基础;最后通过标记表的安装结果状态,使用者可以实时的查询每张表的安装状态。
本发明实施例提供一种能够实现所述数据库中表的变更方法中全部内容的数据库中表的变更装置的具体实施方式,参见图4,所述数据库中表的变更装置具体包括如下内容:
获取单元10,用于获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;
转换单元20,用于采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;
变更单元30,用于自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更。
在本发明的一实施例中,参见图5,所述数据库中表的变更装置,还包括:
查询单元40,用于将所述DDL脚本进行存储并在预设列表中并生成所述DDL脚本对应的查询条目。
在本发明的一实施例中,参见图6,所述数据库中表的变更装置,还包括:
部署单元50,用于将所述变更后的目标表进行程序打包处理生成版本包,并对所述版本包进行版本部署。
进一步的,还包括:标记单元60,用于根据所述版本包进行版本部署结果对变更后的目标表所对应的状态进行标记;
其中,若版本部署的结果为成功,则所述目标表所对应的状态标记为已安装;若版本部署的结果为失败,则目标表所对应的状态标记为安装失败。
其中,所述变更信息,包括:新增信息、修改信息和删除信息中的至少一种;
其中,所述新增信息包括:表基本数据、字段数据、索引数据和约束数据中至少一种;所述修改信息包括:对表基本数据、字段数据、索引数据和约束数据中至少一种进行修改的信息。
其中,所述转换单元包括:
转换模块,用于以所述数据库中的目标表为基准,将所述变更信息转换为DDL语句;
生成模块,用于采用预设的DDL语法规则并基于所述DDL语句生成DDL脚本。
其中,所述DDL脚本包括:增量DDL脚本和/或发布DDL脚本;
相对应的,所述变更单元,包括:
第一变更子单元,用于自动调取并执行所述增量DDL脚本对测试环境下的数据库中的目标表进行变更;
第二变更子单元,用于自动调取并执行所述发布DDL脚本对部署环境下的数据库中的目标表进行变更。
本发明提供的数据库中表的变更装置的实施例具体可以用于执行上述实施例中的数据库中表的变更方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本发明实施例提供的数据库中表的变更装置,通过获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更,能够将表的变更信息转换为DDL脚本,实现对表进行变更,提高了表变更的准确性,并且表的变更操作简单,易用性高,可推广性较强;自动调取和执行DDL脚本,能够避免表的变更文件漏提交,进一步确保了各个环境表的一致性,降低了数据治理和维护难度。
本申请提供一种用于实现所述数据库中表的变更方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述数据库中表的变更方法的实施例及用于实现所述数据库中表的变更装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图7为本申请实施例的电子设备9600的系统构成的示意框图。如图7所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图7是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,数据库中表的变更功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更。
从上述描述可知,本申请的实施例提供的电子设备,通过获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更,能够将表的变更信息转换为DDL脚本,实现对表进行变更,提高了表变更的准确性,并且表的变更操作简单,易用性高,可推广性较强;自动调取和执行DDL脚本,能够避免表的变更文件漏提交,进一步确保了各个环境表的一致性,降低了数据治理和维护难度。
在另一个实施方式中,数据库中表的变更装置可以与中央处理器9100分开配置,例如可以将数据库中表的变更配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现数据库中表的变更功能。
如图7所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图7中所示的所有部件;此外,电子设备9600还可以包括图7中没有示出的部件,可以参考现有技术。
如图7所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本发明的实施例还提供能够实现上述实施例中的数据库中表的变更方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的数据库中表的变更方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更。
从上述描述可知,本发明实施例提供的计算机可读存储介质,通过获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更,能够将表的变更信息转换为DDL脚本,实现对表进行变更,提高了表变更的准确性,并且表的变更操作简单,易用性高,可推广性较强;自动调取和执行DDL脚本,能够避免表的变更文件漏提交,进一步确保了各个环境表的一致性,降低了数据治理和维度难度。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (16)

1.一种数据库中表的变更方法,其特征在于,包括:
获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;所述变更指令通过将用户在表登记系统上登记的变更信息转换得到;
采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;
自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更。
2.根据权利要求1所述的数据库中表的变更方法,其特征在于,在基于所述数据库中的目标表和对应的表变更信息生成DDL脚本之后,还包括:
将所述DDL脚本进行存储并在预设列表中生成所述DDL脚本对应的查询条目。
3.根据权利要求2所述的数据库中表的变更方法,其特征在于,在所述自动调取并执行所述DDL脚本以对所述数据库中的目标表进行变更之后,还包括:
将所述变更后的目标表进行程序打包处理生成版本包,并对所述版本包进行版本部署。
4.根据权利要求3所述的数据库中表的变更方法,其特征在于,在对所述版本包进行版本部署之后,还包括:
根据所述版本包进行版本部署结果对变更后的目标表所对应的状态进行标记;
其中,若版本部署的结果为成功,则所述目标表所对应的状态标记为已安装;若版本部署的结果为失败,则目标表所对应的状态标记为安装失败。
5.根据权利要求1所述的数据库中表的变更方法,其特征在于,所述变更信息,包括:新增信息、修改信息和删除信息中的至少一种;
其中,所述新增信息包括:表基本数据、字段数据、索引数据和约束数据中至少一种;所述修改信息包括:对表基本数据、字段数据、索引数据和约束数据中至少一种进行修改的信息。
6.根据权利要求1所述的数据库中表的变更方法,其特征在于,所述采用预设的DDL语法规则并基于所述数据库中的目标表和对应的变更信息生成DDL脚本,包括:
以所述数据库中的目标表为基准,将所述变更信息转换为DDL语句;
采用预设的DDL语法规则并基于所述DDL语句生成DDL脚本。
7.根据权利要求1所述的数据库中表的变更方法,其特征在于,所述DDL脚本包括:增量DDL脚本和/或发布DDL脚本;
相对应的,对所述数据库中的目标表进行变更,包括:
自动调取并执行所述增量DDL脚本对测试环境下的数据库中的目标表进行变更;或者,
自动调取并执行所述发布DDL脚本对生产环境下的数据库中的目标表进行变更。
8.一种数据库中表的变更装置,其特征在于,包括:
获取单元,用于获取针对数据库中的目标表的变更指令,该变更指令中包含有对应的变更信息;所述变更指令通过将用户在表登记系统上登记的变更信息转换得到;
转换单元,用于采用预设的DDL语法规则,并基于所述数据库中的目标表和对应的变更信息生成DDL脚本;
变更单元,用于自动调取并执行所述DDL脚本,以对所述数据库中的目标表进行变更。
9.根据权利要求8所述的数据库中表的变更装置,其特征在于,还包括:
查询单元,用于将所述DDL脚本进行存储并在预设列表中生成所述DDL脚本对应的查询条目。
10.根据权利要求9所述的数据库中表的变更装置,其特征在于,还包括:
部署单元,用于将所述变更后的目标表进行程序打包处理生成版本包,并对所述版本包进行版本部署。
11.根据权利要求10所述的数据库中表的变更装置,其特征在于,还包括:
标记单元,用于根据所述版本包进行版本部署结果对变更后的目标表所对应的状态进行标记;
其中,若版本部署的结果为成功,则所述目标表所对应的状态标记为已安装;若版本部署的结果为失败,则目标表所对应的状态标记为安装失败。
12.根据权利要求8所述的数据库中表的变更装置,其特征在于,所述变更信息,包括:新增信息、修改信息和删除信息中的至少一种;
其中,所述新增信息包括:表基本数据、字段数据、索引数据和约束数据中至少一种;所述修改信息包括:对表基本数据、字段数据、索引数据和约束数据中至少一种进行修改的信息。
13.根据权利要求8所述的数据库中表的变更装置,其特征在于,所述转换单元包括:
转换模块,用于以所述数据库中的目标表为基准,将所述变更信息转换为DDL语句;
生成模块,用于采用预设的DDL语法规则并基于所述DDL语句生成DDL脚本。
14.根据权利要求8所述的数据库中表的变更装置,其特征在于,所述DDL脚本包括:增量DDL脚本和/或发布DDL脚本;
相对应的,所述变更单元,包括:
第一变更子单元,用于自动调取并执行所述增量DDL脚本对测试环境下的数据库中的目标表进行变更;
第二变更子单元,用于自动调取并执行所述发布DDL脚本对生产环境下的数据库中的目标表进行变更。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的数据库中表的变更方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的数据库中表的变更方法的步骤。
CN201910886004.7A 2019-09-19 2019-09-19 数据库中表的变更方法及装置 Active CN110633284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910886004.7A CN110633284B (zh) 2019-09-19 2019-09-19 数据库中表的变更方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910886004.7A CN110633284B (zh) 2019-09-19 2019-09-19 数据库中表的变更方法及装置

Publications (2)

Publication Number Publication Date
CN110633284A CN110633284A (zh) 2019-12-31
CN110633284B true CN110633284B (zh) 2022-04-29

Family

ID=68971651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910886004.7A Active CN110633284B (zh) 2019-09-19 2019-09-19 数据库中表的变更方法及装置

Country Status (1)

Country Link
CN (1) CN110633284B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651431B (zh) * 2020-06-09 2023-06-27 中国雄安集团数字城市科技有限公司 一种面向数据库服务的管理流程标准化方法
CN113806325A (zh) * 2020-06-15 2021-12-17 华为技术有限公司 数据库设计方法、装置及相关设备
CN112130891B (zh) * 2020-09-23 2021-06-29 上海逸迅信息科技有限公司 一种数据库持续部署的方法和设备
CN112579568A (zh) * 2020-12-15 2021-03-30 中国建设银行股份有限公司 数据库版本处理方法及系统
CN112883050B (zh) * 2021-02-25 2024-03-08 中国工商银行股份有限公司 一种数据库的数据变更方法及装置
CN113672626B (zh) * 2021-09-06 2024-02-13 中国银行股份有限公司 一种数据结构变更方法、装置及电子设备
CN115391361A (zh) * 2022-08-24 2022-11-25 国任财产保险股份有限公司 一种基于分布式数据库的实时数据处理方法及其装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929878A (zh) * 2011-08-09 2013-02-13 阿里巴巴集团控股有限公司 一种数据库变更管理方法及装置
US9535934B1 (en) * 2015-11-17 2017-01-03 International Business Machines Corporation Schema lifecycle manager
CN106326376A (zh) * 2016-08-15 2017-01-11 东软集团股份有限公司 用于表结构变更后的信息复制方法和装置
CN108427699A (zh) * 2017-09-22 2018-08-21 平安科技(深圳)有限公司 快速初始化系统数据库的方法、装置及存储介质
CN109634587A (zh) * 2018-12-04 2019-04-16 上海碳蓝网络科技有限公司 一种生成入库脚本以及数据入库的方法和设备
CN110083587A (zh) * 2019-04-16 2019-08-02 会找房(北京)网络技术有限公司 一种基于Git的数据库变更审批方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929878A (zh) * 2011-08-09 2013-02-13 阿里巴巴集团控股有限公司 一种数据库变更管理方法及装置
US9535934B1 (en) * 2015-11-17 2017-01-03 International Business Machines Corporation Schema lifecycle manager
CN106326376A (zh) * 2016-08-15 2017-01-11 东软集团股份有限公司 用于表结构变更后的信息复制方法和装置
CN108427699A (zh) * 2017-09-22 2018-08-21 平安科技(深圳)有限公司 快速初始化系统数据库的方法、装置及存储介质
CN109634587A (zh) * 2018-12-04 2019-04-16 上海碳蓝网络科技有限公司 一种生成入库脚本以及数据入库的方法和设备
CN110083587A (zh) * 2019-04-16 2019-08-02 会找房(北京)网络技术有限公司 一种基于Git的数据库变更审批方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
软件开发过程中的配置管理及应用;苏静;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20160315(第3期);第5章 *

Also Published As

Publication number Publication date
CN110633284A (zh) 2019-12-31

Similar Documents

Publication Publication Date Title
CN110633284B (zh) 数据库中表的变更方法及装置
CN109697071B (zh) 安装包合成方法、装置、终端及存储介质
CN101944032A (zh) 一种微件更新的方法及客户端、服务器及系统
CN109669692B (zh) 源码共享方法、服务器、计算机可读存储介质及系统
CN111708557B (zh) 更新配置文件的方法、设备及存储介质
CN111045683A (zh) 小程序代码编译方法、装置、设备及介质
CN111316230B (zh) 一种补丁包生成方法及设备
CN111506579B (zh) 一种智能合约代码的生成方法、程序及设备
CN111078672A (zh) 数据库的数据对比方法及装置
CN111399840A (zh) 一种模块开发方法及装置
CN111177243B (zh) 数据的导出方法及装置、存储介质和电子装置
CN100441012C (zh) 一种更新移动终端用户界面的方法
CN102117219A (zh) 一种客户端生成的方法、系统和终端设备
CN114153856A (zh) 主机数据双写方法及装置
CN113296742A (zh) App数据处理方法、装置及移动终端
JP2005228183A (ja) プログラム実行方法、および、プログラム実行のための計算機システム
CN112882685A (zh) 面向对象编程语言的对象的扩展方法及装置
CN111857881A (zh) 基于repo的manifest仓库加载方法、装置及存储介质
CN108595160B (zh) Js调用原生对象的方法、存储介质
CN113779122B (zh) 导出数据的方法和装置
CN114168463A (zh) 切换项目环境的方法、装置、存储介质及电子设备
CN114968225A (zh) 微服务统一构建方法、环境生成方法及相关设备
CN115150411A (zh) 数据同步的方法和装置
CN111859041A (zh) 数据报送方法及装置
CN110955451B (zh) 联机接口的变更方法及装置

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
GR01 Patent grant
GR01 Patent grant