CN107818178A - 一种自动生成数据库变更sql脚本的方法 - Google Patents

一种自动生成数据库变更sql脚本的方法 Download PDF

Info

Publication number
CN107818178A
CN107818178A CN201711182779.3A CN201711182779A CN107818178A CN 107818178 A CN107818178 A CN 107818178A CN 201711182779 A CN201711182779 A CN 201711182779A CN 107818178 A CN107818178 A CN 107818178A
Authority
CN
China
Prior art keywords
sql
automatically generated
reversely
change
data storehouse
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
Application number
CN201711182779.3A
Other languages
English (en)
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201711182779.3A priority Critical patent/CN107818178A/zh
Publication of CN107818178A publication Critical patent/CN107818178A/zh
Pending legal-status Critical Current

Links

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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

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

Abstract

本申请发明一种自动生成数据库变更SQL脚本的方法,该方法为基准数据表添加时间戳字段;基准数据变更时,同步更新相关时间戳信息;基于给定时间段反向生成SQL脚本工具,因此可以在研发环境涉及基准表数据变更时,不再需要同步整理SQL脚本,而是自动生成给定时间段内的变更SQL脚本,大大提升了升级工作效率,同时避免了人工操作可能引起的误操作。

Description

一种自动生成数据库变更SQL脚本的方法
技术领域
本发明涉及计算机软件领域,具体涉及一种自动生成数据库变更SQL脚本的方法。
背景技术
结构化查询语言(Structured Query Language),简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库***。基准数据库,也叫基准库,研发环境所有的数据变更都作用在基准数据库上,如新建菜单,修改角色的权限信息等,项目现场升级时,会从基准库导出变更数据的SQL脚本。基准表是基准库里面的数据表。
在软件领域,软件产品经常处于不断的更新迭代中,新的版本发布后,如果需要升级到项目上的生产环境,需要做大量的升级工作,包括程序代码的增量升级、数据库数据表的增量升级等等,同时还要考虑兼容性问题。
在数据表数据升级这部分,目前的实现手段一般是通过整理SQL脚本,然后去现场生产环境执行的方式来升级,但这种升级方式要求在基准研发环境下,每次涉及基准表数据的变更,都要同步整理SQL脚本,费时费力,人工进行这种操作还容易出错。
基于上述问题,本发明实现了一种自动生成数据库变更SQL脚本的方法,该方法可以在研发环境涉及基准表数据变更时,不再需要同步整理SQL脚本;现场生产环境升级时,使用本发明所述的方法即可自动生成给定时间段内的变更SQL脚本,大大提升了升级工作效率,同时避免了人工操作可能引起的误操作。
发明内容
本发明分为三个步骤,第一步骤,为基准数据表添加时间戳字段;第二步骤,基准数据变更时,同步更新相关时间戳信息;第三步骤,基于给定时间段反向生成SQL脚本工具。
具体地,本申请请求保护一种自动生成数据库变更SQL脚本的方法,其特征在于,该方法具体包括如下步骤:
第一步骤,为基准数据表添加时间戳字段;
第二步骤,基准数据变更时,同步更新相关时间戳信息;
第三步骤,基于给定时间段反向生成SQL脚本工具。
如上所述的自动生成数据库变更SQL脚本的方法,其特征还在于,基准数据表添加的时间戳字段包括新建时间戳、更新时间戳、删除时间戳、是否已删除状态。
如上所述的自动生成数据库变更SQL脚本的方法,其特征还在于,基于给定时间段反向生成SQL脚本工具进一步包括:遍历所有基准表,查找每个基准表在给定时间段内新增的数据记录,进一步查找每个基准表的元数据信息,反向生成新建记录的insert SQL语句。
如上所述的自动生成数据库变更SQL脚本的方法,其特征还在于,基于给定时间段反向生成SQL脚本工具进一步包括:遍历所有基准表,查找每个基准表在给定时间段内更新的数据记录,进一步查找每个基准表的元数据信息,反向生成更新记录的update SQL语句。
如上所述的自动生成数据库变更SQL脚本的方法,其特征还在于,基于给定时间段反向生成SQL脚本工具进一步包括:遍历所有基准表,查找每个基准表在给定时间段内删除的数据记录,进一步查找每个基准表的元数据信息,反向生成删除记录的delete SQL语句。
如上所述的自动生成数据库变更SQL脚本的方法,其特征还在于,每个基准表的元数据信息包括:字段名称、字段类型。
具体实施方式
本发明所述方法的具体实现步骤:
(一)为基准数据表添加时间戳字段
具体指令如下:
is_deleted char(1)是否已删除,0未删除;1已删除
deleted_at datet ime删除时间
created_at datet ime创建时间
updated_at datet ime修改时间
(二)基准数据变更时,同步更新相关时间戳信息
所有涉及数据库基准表的数据变更,都需要同步更新相应时间戳。例如:新建数据记录,设置创建时间;修改某条数据记录,更新修改时间;删除某条数据,设置删除时间,并将is_deleted值修改为1。
(三)、基于给定起止时间,反向生成SQL脚本工具。
1、遍历所有基准表,查找每个基准表在给定时间段内新增的数据记录。
具体指令如下:
Select*from基准表where created_at>=开始时间戳and created_at<=结束时间戳;
2、进一步查找每个基准表的元数据信息(字段名称、字段类型),反向生成insertSQL语句。
如:insert into基准表(字段1,字段2,字段3,…)values(值1,值2,值3,…)
3、遍历所有基准表,查找每个基准表在给定时间段内更新过的数据记录。
具体指令如下:
Select*from基准表where updated_at>=开始时间戳and updated_at<=结束时间戳;
4、进一步查找每个基准表的元数据信息(字段名称、字段类型、主键信息),反向生成update SQL语句。
例如:update基准表set字段1=值1,字段2=值2,字段3=值3,…where主键=主键值;
5、遍历所有基准表,查找每个基准表在给定时间段内删除的数据记录。
具体指令如下:
Select*from基准表where is_deleted='1'and deleted_at>=开始时间戳anddeleted_at<=结束时间戳;
6、进一步查找每个基准表的元数据信息(字段名称、字段类型、主键信息),反向生成delete SQL语句。
如:delete基准表set字段1=值1,字段2=值2,字段3=值3,…where主键=主键值;
显而易见地,上面所示的仅仅是本发明的一个具体实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据上述实施例获得其他的技术方案,以及在本发明保护的范围内做出的等同变化均应落入本发明的保护范围内,都属于本发明保护的范围。
综上所述,本发明只需要给定起止时间,即可以一键生成SQL变更脚本,提升了工作效率,减少了手工操作出错的机会,极大地提高了研发测试、生产效率。

Claims (6)

1.一种自动生成数据库变更SQL脚本的方法,其特征在于,该方法具体包括如下步骤:
第一步骤,为基准数据表添加时间戳字段;
第二步骤,基准数据变更时,同步更新相关时间戳信息;
第三步骤,基于给定时间段反向生成SQL脚本工具。
2.如权利要求1所述的自动生成数据库变更SQL脚本的方法,其特征还在于,基准数据表添加的时间戳字段包括新建时间戳、更新时间戳、删除时间戳、是否已删除状态。
3.如权利要求2所述的自动生成数据库变更SQL脚本的方法,其特征还在于,基于给定时间段反向生成SQL脚本工具进一步包括:遍历所有基准表,查找每个基准表在给定时间段内新增的数据记录,进一步查找每个基准表的元数据信息,反向生成新建记录的insertSQL语句。
4.如权利要求3所述的自动生成数据库变更SQL脚本的方法,其特征还在于,基于给定时间段反向生成SQL脚本工具进一步包括:遍历所有基准表,查找每个基准表在给定时间段内更新的数据记录,进一步查找每个基准表的元数据信息,反向生成更新记录的updateSQL语句。
5.如权利要求4所述的自动生成数据库变更SQL脚本的方法,其特征还在于,基于给定时间段反向生成SQL脚本工具进一步包括:遍历所有基准表,查找每个基准表在给定时间段内删除的数据记录,进一步查找每个基准表的元数据信息,反向生成删除记录的deleteSQL语句。
6.如权利要求5所述的自动生成数据库变更SQL脚本的方法,其特征还在于,每个基准表的元数据信息包括:字段名称、字段类型。
CN201711182779.3A 2017-11-23 2017-11-23 一种自动生成数据库变更sql脚本的方法 Pending CN107818178A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711182779.3A CN107818178A (zh) 2017-11-23 2017-11-23 一种自动生成数据库变更sql脚本的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711182779.3A CN107818178A (zh) 2017-11-23 2017-11-23 一种自动生成数据库变更sql脚本的方法

Publications (1)

Publication Number Publication Date
CN107818178A true CN107818178A (zh) 2018-03-20

Family

ID=61609953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711182779.3A Pending CN107818178A (zh) 2017-11-23 2017-11-23 一种自动生成数据库变更sql脚本的方法

Country Status (1)

Country Link
CN (1) CN107818178A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522364A (zh) * 2018-10-18 2019-03-26 恒峰信息技术有限公司 一种异地数据双向同步方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552701A (zh) * 2008-04-03 2009-10-07 华为技术有限公司 一种记录参数维护变更的方法、***及装置
CN102662946A (zh) * 2012-02-20 2012-09-12 北京地拓科技发展有限公司 一种自动监测数据库中记录变化的方法和***
CN104298769A (zh) * 2014-10-29 2015-01-21 北京思特奇信息技术股份有限公司 一种数据库间共有域差异数据同步***及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552701A (zh) * 2008-04-03 2009-10-07 华为技术有限公司 一种记录参数维护变更的方法、***及装置
CN102662946A (zh) * 2012-02-20 2012-09-12 北京地拓科技发展有限公司 一种自动监测数据库中记录变化的方法和***
CN104298769A (zh) * 2014-10-29 2015-01-21 北京思特奇信息技术股份有限公司 一种数据库间共有域差异数据同步***及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522364A (zh) * 2018-10-18 2019-03-26 恒峰信息技术有限公司 一种异地数据双向同步方法及***

Similar Documents

Publication Publication Date Title
CN103049251B (zh) 一种数据库持久层装置及数据库操作方法
CN104899295B (zh) 一种异构数据源数据关联分析方法
CN108153784A (zh) 同步数据处理方法和装置
CN104331285A (zh) 一种代码自动生成方法及***
CN102402559A (zh) 一种数据库升级脚本的生成方法和装置
CN105224377A (zh) 一种通过元数据自动生成软件项目编码文件的方法及装置
CN107679125A (zh) 一种用于云计算的配置管理数据库***
CN109508355A (zh) 一种数据抽取方法、***及终端设备
CN102646040B (zh) 基于功件和功件树的软件生成方法及装置
CN106649771A (zh) 数据库的数据模型更新方法和***
CN104657387A (zh) 一种数据查询方法及装置
CN106802905B (zh) 一种同构plm***的协同数据交换方法
CN102393860A (zh) 数据库数据迁移***
US20070083543A1 (en) XML schema template builder
CN105183645A (zh) 一种基于复用的雷达软件测试设计与实现的方法
CN108595324A (zh) 测试案例复用管理方法及***
CN104978411A (zh) 一种高速列车的车型开发方法和装置
CN103646100A (zh) 报表数据组织模型
CN104317964A (zh) 一种基于iBatis的对象关系映射方法及***
CN105224527A (zh) 适用于多种目的表更新方式的通用etl方法
CN101923464A (zh) Do-178b标准文档生成器
CN106325833A (zh) 一种用于企业信息管理的代码生成方法
CN107818178A (zh) 一种自动生成数据库变更sql脚本的方法
CN103107919A (zh) 一种网络资源建模方法和***
CN104748757A (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
TA01 Transfer of patent application right

Effective date of registration: 20200522

Address after: Building S01, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan City, Shandong Province, 250000

Applicant after: Tidal Cloud Information Technology Co.,Ltd.

Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20180320

RJ01 Rejection of invention patent application after publication