6.flyway數(shù)據(jù)庫(kù)版本控制

1.Flyway特點(diǎn)

項(xiàng)目迭代快,數(shù)據(jù)庫(kù)表結(jié)構(gòu)及數(shù)據(jù)都在發(fā)生著變化
目前急需一款自動(dòng)管理數(shù)據(jù)庫(kù)變更的sql管理器(flyway),可以根據(jù)版本號(hào)來(lái)控制表結(jié)構(gòu)及數(shù)據(jù)的變更,提高開(kāi)發(fā)效率;
flyway工作機(jī)制,在數(shù)據(jù)庫(kù)創(chuàng)建flyway_schema_history,每次從migration遷移的記錄,記錄包含migration腳本的版本號(hào)和sql腳本的checksum值

2.快速入門(mén)

sql文件分類 Versioned 、Repeatable 和 Undo 三種

Versioned: 用于版本升級(jí), 每個(gè)版本有唯一的版本號(hào)并只能執(zhí)行一次.
Repeatable: 可重復(fù)執(zhí)行, 當(dāng) Flyway檢測(cè)到 Repeatable 類型的 SQL 腳本的 checksum 有變動(dòng),
 Flyway 就會(huì)重新應(yīng)用該腳本. 它并不用于版本更新, 這類的 migration 總是在 Versioned 執(zhí)行之后才被執(zhí)行。
Undo: 用于撤銷(xiāo)具有相同版本的版本化遷移帶來(lái)的影響。但是該回滾過(guò)于粗暴,過(guò)于機(jī)械化,一般不推薦使用。一般建議使用 Versioned 模式來(lái)解決。

Prefix 可配置,前綴標(biāo)識(shí),默認(rèn)值 V 表示 Versioned, R 表示 Repeatable, U 表示 Undo
Version 標(biāo)識(shí)版本號(hào), 由一個(gè)或多個(gè)數(shù)字構(gòu)成, 數(shù)字之間的分隔符可用點(diǎn) . 或下劃線 _
Separator 可配置, 用于分隔版本標(biāo)識(shí)與描述信息, 默認(rèn)為兩個(gè)下劃線 __
Description 描述信息, 文字之間可以用下劃線 _ 或空格 分隔
Suffix 可配置, 后續(xù)標(biāo)識(shí), 默認(rèn)為 .sql

      <!-- 無(wú)需版本號(hào) -->
 <dependency>
      <groupId>org.flywaydb</groupId>
      <artifactId>flyway-core</artifactId>
 </dependency>  
1627050729(1).jpg

啟動(dòng)springboot項(xiàng)目
查看數(shù)據(jù)庫(kù),sls表已經(jīng)自動(dòng)生成


image.png

當(dāng)然也可以查看springboot啟動(dòng)的日志,查看sql是否被執(zhí)行

最后編輯于
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

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