一、简单介绍
> Flyway 是一个开源、跨环境的数据库迁移工具,它强烈主张简单性和约定性而不是配置。
Flyway 是一个便于多人开发对数据库管理的工具,将sql语句写入文件中,只需要在控制台输入指令就可以完成数据库的修改
二、使用方法
参考:Flyway官方文档
首先添加maven依赖,如果你使用其他管理工具,请依照官网进行使用
<!--引入flyway插件-->
<plugin>
<groupid>org.flywaydb</groupid>
<artifactid>flyway-maven-plugin</artifactid>
<version>5.2.4</version>
<configuration>
<url>jdbc:mysql://localhost:3306/db_community</url>
<user>root</user>
<password>root</password>
</configuration>
<dependencies>
<dependency>
<groupid>mysql</groupid>
<artifactid>mysql-connector-java</artifactid>
<version>5.1.6</version>
</dependency>
</dependencies>
</plugin>
你只需要会sql语句的写法即可,将你需要执行的sql写入一个文件,文件命名规则为V1.2__Description.sql
,前面一个大写字母V,接上数字,然后再写两个下划线,中间是你自定义文件名,尽量做到见名知意,文件以.sql
结尾
存放目录为:resources/db/migration
打开idea控制台,输入mvn flyway:migrate
,出现BUILD SUCCESS
即执行成功,即使报错,打印的日志也很清楚,可以很快的找到错误点
我在上面的文件写了创建user表的语句,执行后发现数据库额外多了一个flyway_schema_history
表,这张表实际上记录了你操作的信息
如果我想为user表添加一个bio字段,直接新建一个sql文件,起好名字,写入sql语句,执行命令,切记,不能在上一个文件里直接修改!!!
可以看到,真的多了一个字段
flyway_schema_history
表结构如下
三、常见错误
如果你遇到这样的错误,百度对应版本,修改版本,使数据库和Flyway版本在同一水平
这个错误是由于sql文件名写错了导致的,特别注意是两个下划线!!
来源:oschina
链接:https://my.oschina.net/songjilong/blog/3167146