Flaway数据库迁移工具
在日常开发中, 经常由于hotfix或者feature需要对数据库表进行更新, 很难人工去把控DB的变更, 难免可能出现问题, Flyway也许能帮助我们.Flyway支持多种使用方式: 如命令行Java API,Maven,Gradle等,并支持常用的数据库:Oracle,MySQL,MariaDB,H2等.


平时build多用Maven, 使用时需要做一些基本的插件配置
<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迁移命令
mvn compile flyway:migrate 数据库会生成schema_history表

现在我们进行了数据库变更, 并通过sqlMigrationPrefix, sqlMigrationSeparator等配置指明了db迁移文件的变更, 再次执行迁移命令

此时数据库历史表发生变化
