中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Springboot+Flyway管理項目SQL腳本怎么寫

發布時間:2021-09-29 17:19:44 來源:億速云 閱讀:268 作者:柒染 欄目:大數據

這篇文章給大家介紹Springboot+Flyway管理項目SQL腳本怎么寫,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

測試包放在前面

  • 下載測試包 建議使用 GitZip for github 插件下載獨立目錄

  • 修改 application.yaml 數據庫地址.

  • 啟動后訪問 http://localhost:8080/user/info/1

Flyway 的工作原理

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

Versioned migration 用于版本升級, 每個版本有唯一的版本號并只能 apply 一次

Repeatable

Repeatable migration 是指可重復加載的 migration. 一旦 SQL 腳本的 checksum 有變動, flyway 就會重新應用該腳本. 它并不用于版本更新, 這類的 migration 總是在 versioned migration 執行之后才被執行.

Migration SQL的命名規則圖

Springboot+Flyway管理項目SQL腳本怎么寫

其中的文件名由以下部分組成,除了使用默認配置外,某些部分還可自定義規則.

  • prefix: 可配置,前綴標識,默認值 V 表示 Versioned, R 表示 Repeatable

  • version: 標識版本號, 由一個或多個數字構成, 數字之間的分隔符可用點.或下劃線_

  • separator: 可配置, 用于分隔版本標識與描述信息, 默認為兩個下劃線 '__'

  • description: 描述信息, 文字之間可以用下劃線或空格分隔

  • suffix: 可配置, 后續標識, 默認為.sql

關于開發|生產環境版本說明

  1. 開發環境 SQL 文件建議采用時間戳作為版本號.

多人一起開發不會導致版本號爭用, 同時再加上生產環境的版本號, 這樣的話, 將來手工 merge 成生產環境 migration 腳本也比較方便, SQL 文件示例:

V20200317.1059__V1.0_Unique_User_Names.sql
V20180317.1459__V1.0_Add_SomeTables.sql
  1. 生產環境 SQL 文件, 應該是手動 merge 開發環境的 SQL 腳本, 版本號按照正常的版本, 比如 V2.1.5_001__Release.sql

關于Springboot+Flyway管理項目SQL腳本怎么寫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤城市| 龙山县| 城口县| 西宁市| 河东区| 米脂县| 张家界市| 珲春市| 平原县| 张家口市| 瓮安县| 六安市| 隆子县| 柳林县| 荥阳市| 洛川县| 黔东| 康平县| 湘阴县| 裕民县| 尉犁县| 手游| 肥乡县| 突泉县| 安平县| 泽州县| 友谊县| 定兴县| 彩票| 黔南| 封丘县| 北安市| 梓潼县| 遂溪县| 翁牛特旗| 伽师县| 罗源县| 阳原县| 化州市| 新疆| 喜德县|