數(shù)據(jù)庫版本控制中間件FlyWay部署安裝及使用實例
在開發(fā)過程中,我們經(jīng)常使用git來控制代碼版本,非常的方便,哪數(shù)據(jù)庫其實也有版本控制中間件,就是大名鼎鼎的FlyWay,目前該手冊也是給客戶項目寫的部署及配置手冊,應(yīng)該是比較詳情的操作步驟了,如果有問題可以留言交流,或者給我發(fā)私信也可以。
如果條友喜歡,還請給個關(guān)注
序號
時間
版本
備注
1
2021/08/31
1.0
劉志虎
文檔初始化
2
2021/09/02
1.1
劉志虎
添加注意事項
3
2021/09/06
1.2
劉志虎
增加內(nèi)部溝通會建議
4
2021/11/01
1.3
劉志虎
修改文件命名規(guī)范、注意事項
有變動否成功迭代否程序運行數(shù)據(jù)庫版本對比數(shù)據(jù)庫版本對比執(zhí)行新腳本結(jié)束程序正常啟動程序終止
一、數(shù)據(jù)庫變更常見問題
無法確認是否遺漏了某個數(shù)據(jù)庫腳本未執(zhí)行
無法確認在某臺機器上執(zhí)行過哪些數(shù)據(jù)庫腳本
代碼版本庫無法管理數(shù)據(jù)庫腳本依賴關(guān)系
二、FlyWay提供的功能
Flyway可以自動檢測指定目錄下的數(shù)據(jù)升級文件并升級至指定版本
Flyway可以檢測已執(zhí)行過的數(shù)據(jù)升級文件是否有改動及是否有錯誤
Flyway可隨時展示當前數(shù)據(jù)庫版本和已執(zhí)行過的數(shù)據(jù)庫升級
Flyway可以依照數(shù)據(jù)庫腳本文件命名規(guī)則依次執(zhí)行數(shù)據(jù)庫腳本
Flyway可以自動檢測指定目錄下的數(shù)據(jù)回滾文件并回滾至指定版本
三、使用流程
首先POM中添加
腳本文件統(tǒng)一放在 resources>db>migration目錄下
文件命名規(guī)則
V模塊內(nèi)部版本__上線版本_備注.sql
模塊內(nèi)部版本是遞增的數(shù)字類型
發(fā)布版本Release版本號,各個模塊內(nèi)部版本可能不一致,但同一個時間發(fā)布的版本的Release必須一致,如果不一致,會按照從小到大的順序執(zhí)行
備注是添加有意義的信息,方便知道腳本內(nèi)容,比如模塊名稱
腳本文件一般分為R、V開頭的,R開頭的是可以多次執(zhí)行的腳本,V是有版本的腳本。
application.properties 配置信息
spring.flyway.enabled=true spring.flyway.baseline-on-migrate=true spring.flyway.check-location=true spring.flyway.locations=classpath:/db/migration spring.flyway.validate-on-migrate=true
flyway.enabled 是否開啟,開發(fā)、測試環(huán)境開始,生產(chǎn)環(huán)境設(shè)置
falseflyway.baseline-on-migrate 已當前數(shù)據(jù)庫為基準
flyway.check-location 檢測腳本的路徑是否存在
flyway.validate-on-migrate 校驗?zāi)_本
程序執(zhí)行
mvn spring-boot:run
直接執(zhí)行命令或者點擊項目的運行都可以執(zhí)行,可以到類似如下效果
微服務(wù)注意事項
約定大于規(guī)范
原則是數(shù)據(jù)庫及表的DDL操作唯一、DML操作可以多處,但全局、字典類型數(shù)據(jù)要提前約定好,誰建誰維護的原則
V2.0.0__20211111_cmdb.sql
V2.0.1__20211111_cmp.sql
V2.0.2__20211111_ecc.sql
V2.0.3__20211111_sdn.sql
開發(fā)/測試環(huán)境開啟自動版本控制功能,生產(chǎn)關(guān)閉發(fā)
布生產(chǎn)的時候,需要把各個模塊的SQL腳本手動的合并后執(zhí)行一次
數(shù)據(jù)庫
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。