1. liquibase介紹

什么是liquibase

liquibase是一個(gè)數(shù)據(jù)庫(kù)變更的版本控制工具。項(xiàng)目中通過(guò)liquibase解析用戶(hù)編寫(xiě)的liquibase的配置文件,生成sql語(yǔ)句,并執(zhí)行和記錄。執(zhí)行是根據(jù)記錄確定sql語(yǔ)句是否曾經(jīng)執(zhí)行過(guò),和配置文件里的預(yù)判斷語(yǔ)句確定sql是否執(zhí)行。
liquibase開(kāi)源版使用Apache 2.0協(xié)議。

liquibase的優(yōu)點(diǎn)

1、配置文件支持SQL、XML、JSON 或者 YAML
2、版本控制按序執(zhí)行
3、可以用上下文控制sql在何時(shí)何地如何執(zhí)行。
4、支持schmea的變更
5、根據(jù)配置文件自動(dòng)生成sql語(yǔ)句用于預(yù)覽
6、可重復(fù)執(zhí)行遷移
7、可插件拓展
8、可回滾
9、可兼容14中主流數(shù)據(jù)庫(kù)如oracle,mysql,pg等,支持平滑遷移
10、支持schema方式的多租戶(hù)(multi-tenant)

liquibase的基本概念

1、changeSet 執(zhí)行sql的并記錄、版本控制的最小單元。即每條changeSet生成1條執(zhí)行記錄,版本控制是基于執(zhí)行記錄的。
2、changelog 即執(zhí)行記錄。由changeSet執(zhí)行后產(chǎn)生的記錄。記錄默認(rèn)保存在databasechangelog表中,此表由liquibase自動(dòng)生成。包含id,author,filename,dateexcuted,orderexcuted,exectype,md5sum等字段。
3、databasechangeloglock。liquibase的鎖表。liquibase在執(zhí)行前更新此表的locked為true,執(zhí)行完liquibase的工作,將locked更新為false,適合集群使用。

官網(wǎng)地址

https://www.liquibase.org/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容