欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot配置flyway(入門級別教程)

 更新時間:2023年09月12日 15:30:11   作者:Mayz梅子子子  
本文介紹了springboot配置flyway,主要介紹基于SpringBoot集成flyway來管理數(shù)據(jù)庫的變更,具有一定的參考價值,感興趣的可以了解一下

1、Flyway的工作原理

Flyway在第一次執(zhí)行時,會創(chuàng)建一個默認名為flyway_schema_history的歷史記錄表,這張表會用來跟蹤或記錄數(shù)據(jù)庫的狀態(tài),然后每次項目啟動時都會自動掃描在resources/db/migration下的文件的版本號并且通過查詢flyway_schema_history來判斷是否有新增文件,從而判斷是否進行遷移。默認的查找 migration 的路徑為 classpath:db/migration ,對應(yīng) SQL 文件可放置在src/main/resources/db/migration 下,Java 類可放置在 src/main/java/db/migration 下。

2、sql腳本命名規(guī)則

  • 僅需要執(zhí)行一次的,以大寫“V”開頭,V+版本后(版本號間的數(shù)字以“.” 或者“ _ ”分隔開,“ _ ”會自動編譯成 “ . ” )+" __"+文件描述+后綴名;
  • 需要執(zhí)行多次的,以大寫“R”開頭,命名如R__clean.sql ,R的腳本只要改變了就會執(zhí)行,R不帶版本號;
  • V開頭的比R開頭的優(yōu)先級要高。

前綴:用于版本控制(可配置)、撤消(可配置)和可重復(fù)遷移(可配置)VUR)
版本:帶有點或下劃線的版本可根據(jù)需要分隔任意數(shù)量的部分(不適用于可重復(fù)的遷移)
分隔符:(兩個下劃線)(可配置)__)
說明:下劃線或空格分隔單詞
后綴:(可配置.sql)
(可選)版本控制 SQL 遷移還可以省略分隔符和說明

3、引入maven依賴

    <!-- flyaway工具 -->
    <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-core</artifactId>
        <version>5.2.4</version>
    </dependency

4、添加yml配置項(不做專門配置說明的配置項按照默認值)

flyway.baseline-description對執(zhí)行遷移時基準(zhǔn)版本的描述.
flyway.baseline-on-migrate當(dāng)遷移時發(fā)現(xiàn)目標(biāo)schema非空,而且?guī)в袥]有元數(shù)據(jù)的表時,是否自動執(zhí)
行基準(zhǔn)遷移,默認false.
flyway.baseline-version開始執(zhí)行基準(zhǔn)遷移時對現(xiàn)有的schema的版本打標(biāo)簽,默認值為1.
flyway.check-location檢查遷移腳本的位置是否存在,默認false.
flyway.clean-on-validation-error當(dāng)發(fā)現(xiàn)校驗錯誤時是否自動調(diào)用clean,默認false.
flyway.enabled是否開啟flywary,默認true.
flyway.encoding設(shè)置遷移時的編碼,默認UTF-8.
flyway.ignore-failed-future-migration當(dāng)讀取元數(shù)據(jù)表時是否忽略錯誤的遷移,默認false.
flyway.init-sqls當(dāng)初始化好連接時要執(zhí)行的SQL.
flyway.locations遷移腳本的位置,默認db/migration.
flyway.out-of-order是否允許無序的遷移,默認false.
flyway.password目標(biāo)數(shù)據(jù)庫的密碼.
flyway.placeholder-prefix設(shè)置每個placeholder的前綴,默認${.
flyway.placeholder-replacementplaceholders是否要被替換,默認true.
flyway.placeholder-suffix設(shè)置每個placeholder的后綴,默認}.
flyway.placeholders.[placeholder name]設(shè)置placeholder的value
flyway.schemas設(shè)定需要flywary遷移的schema,大小寫敏感,默認為連接默認的schema.
flyway.sql-migration-prefix遷移文件的前綴,默認為V.
flyway.sql-migration-separator遷移腳本的文件名分隔符,默認__
flyway.sql-migration-suffix遷移腳本的后綴,默認為.sql
flyway.tableflyway使用的元數(shù)據(jù)表名,默認為schema_version
flyway.target遷移時使用的目標(biāo)版本,默認為latest version
flyway.url遷移時使用的JDBC URL,如果沒有指定的話,將使用配置的主數(shù)據(jù)源
flyway.user遷移數(shù)據(jù)庫的用戶名
flyway.validate-on-migrate遷移時是否校驗,默認為true.

我的項目中只做了這些配置:

5、然后運行就可以看到數(shù)據(jù)庫中多了一個flyway_schema_history表,會記錄執(zhí)行情況。

 到此這篇關(guān)于springboot配置flyway(入門級別教程)的文章就介紹到這了,更多相關(guān)springboot配置flyway內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入理解Java設(shè)計模式之策略模式

    深入理解Java設(shè)計模式之策略模式

    這篇文章主要介紹了JAVA設(shè)計模式之策略模式的的相關(guān)資料,文中示例代碼非常詳細,供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2021-11-11
  • Spring-AOP @AspectJ切點函數(shù)之@annotation()用法

    Spring-AOP @AspectJ切點函數(shù)之@annotation()用法

    這篇文章主要介紹了Spring-AOP @AspectJ切點函數(shù)之@annotation()用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 最新SpringCloud?Stream消息驅(qū)動講解

    最新SpringCloud?Stream消息驅(qū)動講解

    SpringCloud Stream 是一個構(gòu)建消息驅(qū)動微服務(wù)的框架,通過 SpringCloud Stream 連接消息中間件,以實現(xiàn)消息事件驅(qū)動,這篇文章主要介紹了SpringCloud?Stream消息驅(qū)動,需要的朋友可以參考下
    2022-11-11
  • 詳解java 中泛型中的類型擦除和橋方法

    詳解java 中泛型中的類型擦除和橋方法

    這篇文章主要介紹了詳解java 中泛型中的類型擦除和橋方法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Java 反射機制的實例詳解

    Java 反射機制的實例詳解

    這篇文章主要介紹了Java 反射機制的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握反射機制,需要的朋友可以參考下
    2017-10-10
  • 解決SpringBoot在后臺接收前臺傳遞對象方式的問題

    解決SpringBoot在后臺接收前臺傳遞對象方式的問題

    這篇文章主要介紹了解決SpringBoot在后臺接收前臺傳遞對象方式的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Mybatis逆工程的使用

    Mybatis逆工程的使用

    最近在學(xué)Mybatis,類似Hibernate,Mybatis也有逆工程可以直接生成代碼(mapping,xml,pojo),方便快速開發(fā)。這篇文章給大家介紹Mybatis逆工程的使用相關(guān)知識,感興趣的朋友一起看下吧
    2016-06-06
  • Java中的StringBuilder性能測試

    Java中的StringBuilder性能測試

    這篇文章主要介紹了Java中的StringBuilder性能測試,本文包含測試代碼和測試結(jié)果,最后得出結(jié)論,需要的朋友可以參考下
    2014-09-09
  • 詳解Java8中Optional的常見用法

    詳解Java8中Optional的常見用法

    Opitonal是java8引入的一個新類,目的是為了解決空指針異常問題。本文將通過示例為大家詳細講講Optional的常見用法,需要的可以參考一下
    2022-09-09
  • JavaWeb 入門:Hello Servlet

    JavaWeb 入門:Hello Servlet

    這篇文章主要介紹了Servlet開發(fā)JavaWeb工程示例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07

最新評論