Flyway的基本使用
Flyway 是独立于数据库的应用、管理并跟踪数据库变更的数据库版本管理工具。
Flyway 的项目主页是 http://flywaydb.org/
Flyway配置成Maven插件,如下图:
以下是我测试时配置的POM.xml
.... <build> <finalName>flyway</finalName> <plugins> <plugin> <groupId>org.flywaydb</groupId> <artifactId>flyway-maven-plugin</artifactId> <version>${flywaydb.version}</version> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.jdbc.version}</version> </dependency> </dependencies> <configuration> <driver>com.mysql.jdbc.Driver</driver> <url>jdbc:mysql://localhost:3306/flyway?useUnicode=true&characterEncoding=utf-8</url> <user>root</user> <password>root</password> <!-- 设置接受flyway进行版本管理的数据库,多个数据库以逗号分隔 --> <schemas>flyway</schemas> <!-- 设置存放flyway metadata数据的表名 --> <table>schema_version</table> <!-- 设置flyway扫描sql升级脚本、java升级脚本的目录路径或包路径 --> <locations> <location>db/migration</location> </locations> <!-- 设置sql脚本文件的编码 --> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> ....
Flyway常用的命令含义
命令 含义 migrate 升级数据库 clean 删除所有配置的schemas的对象 info 打印所有升级的明细和状态信息 validate 验证指定路径下(ClassPath)升级配置的正确性 baseline 基于当前数据库版本,跳过所有早于当前版本的升级 repair 修复数据库中的所有表