国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

SpringBoot整合Flyway的方法(數據庫版本遷移工具)

瀏覽:3日期:2023-05-14 13:00:38

Flyway是什么

Flyway是一款開源的數據庫版本管理工具,Flyway可以獨立于應用實現管理并跟蹤數據庫的變更,Flyway根據自己的約定,不需要復雜的配置就可以實現數據的Migrate。Migrations可以寫成SQL腳本,也可以寫在Java代碼中,Flyway還支持Spring Boot。

簡介

在團隊開發當中,有可能每個人都是使用自己本地的數據庫。當數據庫的表或者字段更新時,往往需要告知團隊的其他同事進行更新。Flyway數據庫版本遷移工具,目的就是解決該問題而誕生的(我自己想的)。每當我們更新數據庫的時候,只需要添加SQL文件到指定目錄中。Flyway會在數據庫創建一個表,專門記錄已更新的SQL文件。當我們下次執行時則不會執行已記錄并且執行成功的SQL文件。

整合

maven

現在的Flyway的最新版本已經到了6.4.2。我用的是6.3.3。

<!-- https://mvnrepository.com/artifact/org.flywaydb/flyway-core --><dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>6.3.3</version></dependency>

application配置

搞定了Flyway的依賴后,修改一下SpringBoot的application.yml或application.xml配置。

spring: flyway: url: jdbc:mysql://192.168.138.132:3306/hotel-server?useUnicode=true&characterEncoding=UTF-8 user: johnson password: 123456 table: flyway_schema_history enabled: true locations: classpath:db/migration clean-disabled: false

flyway配置詳解

url:連接數據庫的Url 默認為spring.datasource.url

user:連接數據庫的賬號 默認為spring.datasource.username

password:連接數據庫的密碼 默認為spring.datasource.password

table:自定義數據庫版本管理表 默認為 flyway_schema_history

enabled:是否開啟 默認為開啟

locations:SQL文件存放路徑 默認 classpath:db/migration

SQL文件

上面的locations參數配置的SQL文件存放路徑為 classpath:db/migration,classpath對應的目錄就是resources目錄,創建后的目錄如下圖:

SpringBoot整合Flyway的方法(數據庫版本遷移工具)

SQL文件如上圖,SQL文件名必須為V1.0.x__xxx.sql(注意:這里的下劃線為兩個_,我也是掉坑了才知道),這樣可以對應SQL更新的版本號。啟動了SpringBoot項目后,就會自動幫你執行SQL文件,可以看到數據庫版本控制表中生成的數據:

SpringBoot整合Flyway的方法(數據庫版本遷移工具)

clean操作

Flyway的clean操作:徹底清除已配置的架構,它將有效地為您提供一個全新的起點。所有對象(表,視圖,過程等)都將被刪除。

spring: flyway: clean-on-validation-error: true clean-disabled: false

clean-on-validation-error:發生驗證的錯誤時是否執行clean操作(如SQL執行失敗),默認false,生產中必須使用false。clean-disabled:是否禁用clean操作,默認false,生產中必須使用true

如果我們設置 clean-on-validation-error = true,clean-disabled = false。當我們的SQL文件執行失敗,在數據庫版本控制表flyway_schema_history會添加一條失敗的記錄,success字段為0,此時并不會執行clean操作。當把SQL文件修改正確并執行完后,此時flyway_schema_history會把失敗記錄的success字段由0改為1。并且會執行clean操作!!!!!整個數據庫的表里面的數據都被清空了!(除非你在SQL文件中添加了insert操作)其實在開發環境我也是不建議使用clean,畢竟填數據也是要時間的。。。

總結

團隊開發當中的必備工具啊!不過生產環境當中記得把clean-disabled改為true

到此這篇關于SpringBoot整合Flyway的方法(數據庫版本遷移工具)的文章就介紹到這了,更多相關SpringBoot整合Flyway內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 一个人看的www日本视频 | 伊人久久在线 | 免费永久观看美女视频网站网址 | 99久久精品免费看国产四区 | 亚洲欧洲国产成人综合一本 | 欧美成年人网站 | 男人的天堂久久精品激情 | 日本高清在线中文字幕网 | 日韩欧国产精品一区综合无码 | 国产一区亚洲二区 | 国产成人高清精品免费观看 | 免费一级毛片女人图片 | 国产一级做a爱片久久毛片a | 中文日韩字幕 | 亚洲国产欧美日韩第一香蕉 | 亚洲最大黄网 | 久久久国产精品福利免费 | 三级午夜三级三点在看 | 欧美成人性生活视频 | 国产精品视频永久免费播放 | 老外毛片| 国产成 人 综合 亚洲绿色 | 欧美成人特黄级毛片 | 中文精品爱久久久国产 | 一区毛片| 欧美一级特黄刺激爽大片 | 99精品国产免费久久国语 | 大量真实偷拍情侣视频野战 | 亚洲性在线观看 | 免费视频男女 | 日韩在线一区二区三区视频 | 99视频免费在线观看 | 日韩三级在线观看视频 | 成人看片免费 | www.网站黄网站 | 国产精品成人不卡在线观看 | 久久久久久99精品 | 欧美日韩一区二区视频图片 | 国产97在线视频 | 欧美成人另类 | 精品国产精品久久一区免费式 |