Flyway 默认规约 SQL 脚本文件默认位置是项目的源文件夹下的db/migration 目录。
Java 代码默认位于db.migration 包。
SQL 脚本文件及Java 代码类名必须遵循以下命名规则:V[_][__description] 。
版本号的数字间以小数点(. )或下划线(_ )分隔开,版本号与描述间以连续的两个下划线(__ )分隔开。
如V1_1_0__Update.sql 。
Java 类名规约不允许存在小数点,所以Java 类名中版本号的数字间只能以下划线进行分隔。
<plugin> <groupId>com.googlecode.flyway</groupId> <artifactId>flyway-maven-plugin</artifactId> <version>1.7</version> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.connector.version}</version> </dependency> </dependencies> <configuration> <driver>com.mysql.jdbc.Driver</driver> <url>jdbc:mysql://localhost/flywaydemo?useUnicode=true&characterEncoding=utf-8</url> <user>root</user> <password></password> <!-- 设置接受flyway进行版本管理的数据库,多个数据库以逗号分隔 --> <schemas>flywaydemo</schemas> <!-- 设置存放flyway metadata数据的表名 --> <table>schema_version</table> <!-- 设置flyway扫描sql升级脚本、java升级脚本的目录路径或包路径 --> <locations> <location>flyway/migrations</location> <location>com.kedacom.flywaydemo.migrations</location> </locations> <!-- 设置sql脚本文件的编码 --> <encoding>UTF-8</encoding> <!-- 设置执行migrate操作之前的validation行为 --> <validationMode>ALL</validationMode> <!-- 设置当validation失败时的系统行为 --> <validationErrorMode>FAIL</validationErrorMode> </configuration> </plugin>
上面的插件配置包含了几方面的配置信息:
- 声明插件
- 声明数据库驱动的依赖包
- Flyway 配置——数据库连接配置
- Flyway 配置——Flyway 参数与行为配置
执行Maven 命令进行Flyway 操作(下面列出几种常用的操作)
- mvn flyway:init (初始化Flyway metadata )
- mvn flyway:migrate (执行Flyway 升级操作)
- mvn flyway:validate (校验Flyway 数据正确性)
http://blog.csdn.net/nydia_lvhq/article/details/51362649