数据库重构工具 LiquiBase(1)

时间:2021-12-19 05:30:28

软件开发中数据库的现状

  • 手工变更数据库
  • 不能与团队的其他成员分享数据库变更
  • 使用不一致的方法变更数据库或数据
  • 使用低效的手工方法管理数据库版本之间的变更

  这些实践效率低下,使开发人员无法与数据变更保持同步。而且,还使应用程序的 用户遇到与数据不一致和数据损坏等问题。

  软件开发项目中经常用到的手工方法操作数据库。手工方法在使用时通常不能保证一致性并且容易产生错误,撤销已完成的工作很困难,而且难以分析数据库变更的历史。例如,某个 DBA 可能想变更查找数据,但是开发人员却忘记将这个数据插入到同一个表中。

Liquibase简介

官网

  Liquibase是一个用于跟踪、管理和应用数据库变化开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制。

Liquibase具备如下特性:

  • 不依赖于特定的数据库,目前支持包括Oracle/Sql
    Server/DB2/MySql/Sybase/PostgreSQL/Caché等12种数据库,这样在数据库的部署和升级环节可帮助应用系统支持多数据库。

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

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

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

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

  • 可生成数据库修改文档(HTML格式)

  • 提供数据重构的独立的IDE和Eclipse插件