Flyway 的使用及Spring Boot集成Flyway

1、簡單介紹

Flyway 是一個開源、跨環境的數據庫遷移工具,它強烈主張簡單性和約定性而不是配置。java

Flyway 是一個便於多人開發對數據庫管理的工具,將sql語句寫入文件中,只須要在控制檯輸入指令就能夠完成數據庫的修改mysql

2、使用方法

參考:Flyway官方文檔sql

首先添加maven依賴,若是你使用其餘管理工具,請依照官網進行使用數據庫

<!--引入flyway插件-->
<plugin>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-maven-plugin</artifactId>
    <version>5.2.4</version>
    <configuration>
        <url>jdbc:mysql://localhost:3306/db_community</url>
        <user>root</user>
        <password>root</password>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
    </dependencies>
</plugin>

你只須要會sql語句的寫法便可,將你須要執行的sql寫入一個文件,文件命名規則爲V1.2__Description.sql,前面一個大寫字母V,接上數字,而後再寫兩個下劃線,中間是你自定義文件名,儘可能作到見名知意,文件以.sql結尾maven

存放目錄爲:resources/db/migrationide

打開idea控制檯,輸入mvn flyway:migrate,出現BUILD SUCCESS即執行成功,即便報錯,打印的日誌也很清楚,能夠很快的找到錯誤點工具

我在上面的文件寫了建立user表的語句,執行後發現數據庫額外多了一個flyway_schema_history表,這張表實際上記錄了你操做的信息url

若是我想爲user表添加一個bio字段,直接新建一個sql文件,起好名字,寫入sql語句,執行命令,切記,不能在上一個文件裏直接修改!!!idea

能夠看到,真的多了一個字段插件

flyway_schema_history表結構以下

3、常見錯誤

若是你遇到這樣的錯誤,百度對應版本,修改版本,使數據庫和Flyway版本在同一水平

這個錯誤是因爲sql文件名寫錯了致使的,特別注意是兩個下劃線!!

相關文章
相關標籤/搜索