在需要对数据库进行修改的时候,通常会选择使用sql脚本去对数据库中的字段进行更改,但是当多数人一起开发一个东西的时候,就会因为信息不对称,而导致代码出现很多问题。
比如:程序员a改写了自己的测试用的数据库,但b不知道,当他拉了a提交的代码后,发现项目里一堆红×
线上环境和开发环境是两个环境,当程序员运行sql脚本对开发环境中的数据库内容进行修改,当他们提交代码到开发环境中运行的时候,还需要再拿着这个sql脚本到开发环境中的数据库跑一遍,再去提交代码上去编译运行。
总结上面各种问题,很多人会选择使用flyway这个工具对数据库进行管理。
这里就简单的描述一下flyway的使用方法吧。
添加依赖包
Flyway数据库迁移基础结构的核心是org.flywaydb.core.Flyway类。所以要先加上这个依赖。
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>6.0.8</version>
</dependency>
然后开始配置。
有很多种配置方法,我这里只写maven 的插件形式的配置方法。
这是配置文件的解释。
跟着配置就好了。
编译
它编译的文件夹是在 src/main/resources/db/migration
这个文件夹中。
里面命名规范在这:文件命名规范
也可以自己在配置文件里面定义。
指令:
mvn flyway:migrate
编译出错情况
编译出错的话,那会有一个相应记录,你需要对数据库进行回滚,然后删掉这条记录,重新运行就可以了。