在日常开发中, 经常由于hotfix或者feature需要对数据库表进行更新, 很难人工去把控DB的变更, 难免可能出现问题, Flyway也许能帮助我们. Flyway支持多种使用方式: 如 命令行 Java API, Maven, Gradle等, 并支持常用的数据库: Oracle, MySQL, MariaDB, H2等.
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>3.1</version>
<configuration>
<url>jdbc:mysql://127.0.0.1:3306/gaara</url>
<user>root</user>
<password>root</password>
<locations>
<location>filesystem:${project.basedir}/db</location>
</locations>
<table>schema_history</table><!-- 数据库版本历史表 -->
<baselineOnMigrate>true</baselineOnMigrate>
<baselineVersion>5</baselineVersion>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
</dependency>
</dependencies>
</plugin>
mvn compile flyway:migrate
clean, info, validate, baseline, repair
详细可参考这里.