基於 Maven
配置
pom.xml
<build>
<span style="color:#c0c0c0;">...</span>
<plugins>
<span style="color:#c0c0c0;"> ...</span>
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>4.0.1</version>
<configuration>
<url><strong>jdbc:mysql://localhost/user</strong></url>//要连的DB库
<user><strong>root</strong></user>
<password></password>
<baselineOnMigrate><strong>true</strong></baselineOnMigrate>//如果原本DB内有表,则需设置此项
</configuration>
</plugin>
<span style="color:#c0c0c0;"> ...</span>
</plugins>
<span style="color:#c0c0c0;">...</span>
</build>
resources/db/migration/ 下建立初始化版本
SQL文件命名规则
配置完毕运行
mvn flyway:migrate
就会看到
[INFO] Successfully validated 1 migration (execution time 00:00.012s)
[INFO] Creating Metadata table: `user`.`schema_version`
[INFO] Successfully baselined schema with version: 1
[INFO] Current version of schema `user`: 1
[INFO] Schema `user` is up to date. No migration necessary.
成功将会看到这些资讯,在库内建立了一个版本管理表,并且标示目前为版本1
当有版本2的时候,resources/db/migration/ 建立新的sql档案
继续执行
mvn flyway:migrate
将会看到
[INFO] Successfully validated 2 migrations (execution time 00:00.022s)
[INFO] Current version of schema `user`: 1
[INFO] Migrating schema `user` to version 1.1 - 20160527
[INFO] Successfully applied 1 migration to schema `user` (execution time 00:00.052s).
执行完毕,版本提升为1.1,并且自动执行完毕SQL语句
如果出现错误,执行修复
mvn flyway:repair
其他相关语句可参考官方说明
此可达成多人共同版本控制DB库,其他人只要添加了SQL文件,git回来直接运行一次语句即可自动跑完所有变动