您好,登錄后才能下訂單哦!
這篇文章給大家介紹Springboot+Flyway管理項目SQL腳本怎么寫,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
下載測試包 建議使用 GitZip for github
插件下載獨立目錄
修改 application.yaml
數據庫地址.
啟動后訪問 http://localhost:8080/user/info/1
flyway 需要在 DB 中先創建一個 metdata 表 (缺省表名為 flyway_schema_history), 在該表中保存著每次 migration 的記錄, 記錄包含 migration 腳本的版本號和 SQL 腳本的 checksum 值. 當一個新的 SQL 腳本被掃描到后, Flyway 解析該 SQL 腳本的版本號, 并和 metadata 表已 apply 的的 migration 對比, 如果該 SQL 腳本版本更新的話, 將在指定的 DB 上執行該 SQL 文件, 否則跳過該 SQL 文件.
兩個 flyway 版本號的比較, 采用左對齊原則, 缺位用 0 代替. 舉例如下:
1.2.9.4 比 1.2.9 版本高
1.2.10 比 1.2.9.4 版本高
1.2.10 和 1.2.010 版本號一樣高, 每個版本號部分的前導 0 會被忽略
Flyway SQL 文件可以分為兩類:
Versioned
Repeatable
Versioned migration 用于版本升級, 每個版本有唯一的版本號并只能 apply 一次
Repeatable migration 是指可重復加載的 migration. 一旦 SQL 腳本的 checksum 有變動, flyway 就會重新應用該腳本. 它并不用于版本更新, 這類的 migration 總是在 versioned migration 執行之后才被執行.
其中的文件名由以下部分組成,除了使用默認配置外,某些部分還可自定義規則.
prefix: 可配置,前綴標識,默認值 V 表示 Versioned, R 表示 Repeatable
version: 標識版本號, 由一個或多個數字構成, 數字之間的分隔符可用點.或下劃線_
separator: 可配置, 用于分隔版本標識與描述信息, 默認為兩個下劃線 '__'
description: 描述信息, 文字之間可以用下劃線或空格分隔
suffix: 可配置, 后續標識, 默認為.sql
開發環境 SQL 文件建議采用時間戳作為版本號.
多人一起開發不會導致版本號爭用, 同時再加上生產環境的版本號, 這樣的話, 將來手工 merge 成生產環境 migration 腳本也比較方便, SQL 文件示例:
V20200317.1059__V1.0_Unique_User_Names.sql V20180317.1459__V1.0_Add_SomeTables.sql
生產環境 SQL 文件, 應該是手動 merge 開發環境的 SQL 腳本, 版本號按照正常的版本, 比如 V2.1.5_001__Release.sql
關于Springboot+Flyway管理項目SQL腳本怎么寫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。