1. liquibase介绍
2020-09-01 本文已影响0人
飞行员舒克_ed03
什么是liquibase
liquibase是一个数据库变更的版本控制工具。项目中通过liquibase解析用户编写的liquibase的配置文件,生成sql语句,并执行和记录。执行是根据记录确定sql语句是否曾经执行过,和配置文件里的预判断语句确定sql是否执行。
liquibase开源版使用Apache 2.0协议。
liquibase的优点
1、配置文件支持SQL、XML、JSON 或者 YAML
2、版本控制按序执行
3、可以用上下文控制sql在何时何地如何执行。
4、支持schmea的变更
5、根据配置文件自动生成sql语句用于预览
6、可重复执行迁移
7、可插件拓展
8、可回滚
9、可兼容14中主流数据库如oracle,mysql,pg等,支持平滑迁移
10、支持schema方式的多租户(multi-tenant)
liquibase的基本概念
1、changeSet 执行sql的并记录、版本控制的最小单元。即每条changeSet生成1条执行记录,版本控制是基于执行记录的。
2、changelog 即执行记录。由changeSet执行后产生的记录。记录默认保存在databasechangelog表中,此表由liquibase自动生成。包含id,author,filename,dateexcuted,orderexcuted,exectype,md5sum等字段。
3、databasechangeloglock。liquibase的锁表。liquibase在执行前更新此表的locked为true,执行完liquibase的工作,将locked更新为false,适合集群使用。