- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Liquibase分享
Liquibase介绍一、Liquibase简介什么是Liquibase一个用于跟踪、管理和应用数据库变化的免费开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML(sql,csv)文件中,便于版本控制。Liquibase特点支持包括Oracle/Sql Server/DB2/MySql/Sybase/PostgreSQL/Caché等12种数据库,这样在数据库的部署和升级环节可帮助应用系统支持多数据库。以XML存储数据库变化,其中以作者和ID唯一标识一个变化(ChangSet),支持数据库变化的合并,因此支持多开发人员同时工作。在数据库中保存数据库修改历史(DatabaseChangeHistory),在数据库升级时自动跳过已应用的变化(ChangSet)。提供变化应用的回滚功能,可按时间、数量或标签(tag)回滚已应用的变化。通过这种方式,开发人员可轻易的还原数据库在任何时间点的状态。可生成数据库修改文档(HTML格式)二、为什么要引入Liquibase不使用数据库重构工具的不便在开发过程中经常会有数据库变更,当一个开发人员进行数据库变更时,往往需要编写sql脚本然后告知每一个开发人员进行本地开发数据库的变更。当我们进行重构时,假如sql执行错误需要撤销已完成的工作其实很不便。数据库重构是个很底层却非常重要的一项工作,我们有必要采用一种机制来分析数据库变更的历史,至少在review时有依可循。KXF-数据库维护现状分析:其实我们现在管理数据库脚本挺专业的:统一在SVN上维护几个SQL文件,有一个脚本执行文件,这样在交付测试,交付数据中心时也为他们提供了便利。从维护数据库SQL文件的方式上我们是可以有所提升的。上述三条不使用数据库重构工具的不便也是我们做数据库重构的不便。而Liquibase能帮助我们解决这几条不便。使用Liquibase的便利Liquibase进行数据库变更,将所有的数据库变动都保存在一些统一管理的文件中。这和我们目前的现状是一致的。但Liquibase比我们做的更好的是:它能帮助我们记录每一次的数据库变更情况:变动内容、作者、时间等。Liquibase支持与ANT、Maven集成,简单的配置后我们可以使用Ant、Maven的命令来进行数据库重构。当然使用Liquibase原生命令也是可以的。(在build的时候执行有效的避免了代码与数据库不一致的情况)(也是可以在Spring或者Web.xml配置监听器来进行的数据库自动更新的,不过这种方法不太常用)Liquibase和Maven集成,再在jenkins上部署很方便实现了自动打包,在有变更时自动重构数据库。可以配置多数据源,这样去掉了每个人拿到新的数据库脚本自己run一遍的重复过程,提高了大家的工作效率。三、Liquibase使用示例其实Liquibase的使用还是比较简单。它支持XML、YAML、JSON、SQL格式的变更集文件。这里我们提到的变更集则是Liquibase的核心。因为我们是在现有数据库的基础上做数据库重构的管理。因此我们将XML、SQL两种方式结合一下使用比较合适。单纯的XNL、YAML、JSON、SQL的方式就不做介绍了,有兴趣可以在文档最后提供的链接去学习。由于本地没有安装Oracle,就拿Mysql做示范,并且该示例就示范Liquibase的原生命令了。步骤首先从Liquibase官网(/)下载Liquibase的执行程序。和Maven一样,我们还需要配置Liquibase的环境变量创建数据库变更日志文件liquibase.xml该数据库变更日志文件中,我们定义了两个changeSet元素,每一个changeSet元素都是数据库变更的子集合。changeSet的属性我们常用到的就如示例上的四个。Author即变更的作者,Id即变更集的Id,dbms即目标数据库的类型,示例采用MySQL,因此其值为mysql。runOnchange设置为ture及表示当该变更第一次执行后,之后的每一次执行都在其有变化时才执行。changeSet我们引入了外部sql文件,属性path即为sql文件的路径,我们通常设置为相对路径,路径是相对于liquibase.xml所在的文件夹。依据官网文档relativeToChangelogFile应该设置为true(原因官网没提供说明啊)rollback记录的是当我们进行数据库回滚时的sql执行语句(也有XML语法的)。如示例,当我们回滚是则会drop掉03_SYS_CREATE_TABLE.sql创建的T_01_001、T_01_002、T_01_003。4、接下来让我们在控制台中执行命令进行数据库重构吧。执行以下命令,我们将会发现数据库按照SQL预期生成了相应的表结构liquibase
您可能关注的文档
最近下载
- 2025中考模拟 数学(浙江卷)(答题卡).docx VIP
- 6-2 好少年在行动(课件)-《新时代中国特色社会主义思想学生读本 (小学低年级)》.pptx VIP
- 工厂VDA6.3-2023审核员培训考核试卷含答案.doc
- (建筑施工企业) 固定资产、无形资产管理制度.docx VIP
- 第二单元任务2《制作广式月饼》(教案)-2024-2025学年湘教版劳动五年级上册.docx VIP
- 代金劵模板.doc VIP
- 海洋生物学课件:中尺度涡对南海初级生产过程的影响.ppt VIP
- AI时代高校人才培养的改革与创新实践.docx
- 第6讲 做新时代的好少年(第一课时)扣好人生第一粒扣子(课件)-《学生读本(小学低年级)》.ppt VIP
- 人教版数学六年级下册全册教学课件(2025年).pptx
文档评论(0)