日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

flyway版本号_数据库版本管理工具-flyway

發布時間:2024/4/13 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flyway版本号_数据库版本管理工具-flyway 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

flyway產生背景

在日常開發中,經常遇到數據庫變更,字段增減調整,需要維護多個不同數據庫時是十分痛苦的事情.代碼可以使用svn,git等工具進行管理,那么數據庫的版本可以使用Flyway 一款小工具,就可以大大簡化這方面的工作。官方網站

介紹

flyway支持大部分主流的數據庫,Oracle,SQL Server MySQL等;

并且擁有命令行工具,Maven,Gradle插件等;

配置簡單,實用方便,支持Sql及java配置,這里寫一個簡單的java配置。

需要明白的幾個概念:

版本:對數據庫的每一次變更可稱為一個版本。

遷移:Flyway把數據庫結構從一個版本更新到另一個版本叫做遷移。

可用的遷移:Flyway的文件系統識別出來的遷移版本。

已經應用的遷移:Flyway已經對數據庫執行過的遷移。

使用

需要使用Flyway核心jar包;可直接下載flyway-core-3.2.1.jar。

在項目中創建文件夾 src/dbmigration, 默認src/db/migration,可以在配置中進行修改。

對Flyway進行數據庫配置,這里使用spring配置文件配置,也可以使用java對象進行配置,

然后,就完成了簡單配置了,在dbmigration文件夾下創建sql文件,比如:V1_0_1__初始化.sql,V1_0_2__修改表.sql等,其中sql腳本文件需要按照一定的規則來命名,能夠讓flyway檢測并執行。

命名規則也能進行定義比如prefix、separator、suffix,默認prefix是V(執行一遍,并且版本號唯一,如果有重復就會報錯)或R(重復執行,不需要版本號),separator是雙下劃線__,suffix是.sql。V開頭+版本號+雙下劃線+描述。

新版本更改腳本,版本數字大于之前的版本就可以了。

注意

在啟動tomcat啟動后 加載配置文件運行flyway組件 對數據庫版本更新,它在維護更新時會在數據庫中新建表 schame_version 用來對sql腳本版本升級進行維護,一份sql文件對應一條數據,所以對數據庫版本升級時,會根據該表查詢進行操作,如果沒有記錄,則會執行該sql文件,如果存在數據則不執行,在對當前數據庫中sql腳本只會執行一次,

如果出現異常例如:org.flywaydb.core.api.FlywayException: Schema “xxx” contains a failed migration to version 1.1.043 !則表示數據庫沖突,需要把表 schame_version 相應記錄刪除,并且保證sql腳本操作不會與該數據庫沖突。每次版本更新 schame_version 都會保存運行的結果。

總結

以上是生活随笔為你收集整理的flyway版本号_数据库版本管理工具-flyway的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。