数据库版本管理工具Liquibase
1. Liquibase简介
1.1 解决范围
我们在研发过程中,经常涉及到数据库变更,如对表结构的修复以及数据的修改。为保证各环境都能正确的进行变更,我们可能需要维护一个数据库升级文档来保存这些记录,有需要升级的环境按文档进行升级。
但这样手工维护有几个缺点:
- 无法保证每个环境都按要求执行
- 遇到问题不一定有相对的回滚语句
- 无法自动化
为了解决这些问题,希望通过数据库版本管理工具,实现以下几个目标:
- 数据库升级
- 数据库回滚
- 版本标记
因而,此时可引入Liquibase
,它帮助团队跟踪、版本化及部署数据库架构和逻辑修改。
它会在你的目标数据库中,生成一张表DATABASECHANGELOG
来管理版本。它管理的数据最小单元为changeSet
。
通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。
所以,变更日志文件一般不可更改,Liquibase
也自带校验其是否被变更的操作。
1.2 适用范围
- 支持几乎所有主流的数据库,如MySQL, PostgreS