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>

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

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