Liquibase数据库版本管理工具

liquibase in Spring & SpringBoot

团队使用了liquibase来管理数据库的变更,数据库管理工具,用久了会发现这个很不错。

什么是Liquibase

Liquibase是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。

它将所有数据库的变化,changeset(包括结构和数据)都保存在XMl文件中,便于版本控制。

  • 跟踪
  • 管理
  • 应用数据库变化
  • 开源的数据库重构工具

Liquibase能做什么?

1.不依赖于特定的数据库,主流的数据库都支持。目前支持包括Oracle/Sql Server/DB2/Mysql/Sybase/PostgreSQL/Cache等12种数据库,这样的数据库的部署和升级环节可帮助应用系统支持多种数据库。

2.提供数据库比较功能、比较结果保存在xml中,基于该XML你可用Liquibase轻松实现部署或升级数据库。

3.Liquibase以XMl存储数据库变化,其中以作者和ID唯一标识一个变化(changeSet),支持数据库变化的合并,因此支持多开发人员同时工作。

4.在数据库中保存 数据库修改历史(DatabaseChangeHistory),在数据库升级时自动跳过已应用的变化(changeSet)。

5.提供变化应用的回滚功能、可按时间、数量或 标签(tag)回滚已应用的变化。通过这种方式、开发人员可轻易的还原数据库在任何时间点的状态。

6.可生成数据库修改文档(HTML)

7.提供数据重构的独立IDE和Eclipse插件。

为什么使用Liquibase

在日常的开发中,开发团队经常将数据库和应用(也就是代码)视为单独的实体,这样就导致了一个问题:数据库开发团队与应用开发团队成员之间信息沟通不畅,信息交流不及时。这种情况是由于以下原因导致的:

  • 手工的数据库变更

  • 不能与团队的其他成员分享数据库变更

  • 使用不一致的方式去变更数据库或者数据

  • 使用低效率的手工方法管理数据库版本之间的变更

解决上面的问题的思路就是:减少人工手工变更数据库的机会,用程序管理数据库版本的更替:将数据库的变更变成xml文件存储到代码中。

本文是转载文章,点击查看原文
如有侵权,请联系 lx@jishuguiji.net 删除。