一、簡單介紹
Flyway 是一個開源、跨環境的數據庫遷移工具,它強烈主張簡單性和約定性而不是配置。
Flyway 是一個便於多人開發對數據庫管理的工具,將sql語句寫入文件中,只需要在控制台輸入指令就可以完成數據庫的修改
二、使用方法
參考:Flyway官方文檔
首先添加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
結尾
存放目錄為:resources/db/migration
打開idea控制台,輸入mvn flyway:migrate
,出現BUILD SUCCESS
即執行成功,即使報錯,打印的日志也很清楚,可以很快的找到錯誤點
我在上面的文件寫了創建user表的語句,執行后發現數據庫額外多了一個flyway_schema_history
表,這張表實際上記錄了你操作的信息
如果我想為user表添加一個bio字段,直接新建一個sql文件,起好名字,寫入sql語句,執行命令,切記,不能在上一個文件里直接修改!!!
可以看到,真的多了一個字段
flyway_schema_history
表結構如下
三、常見錯誤
如果你遇到這樣的錯誤,百度對應版本,修改版本,使數據庫和Flyway版本在同一水平
這個錯誤是由於sql文件名寫錯了導致的,特別注意是兩個下划線!!