Flyway 的使用及Spring Boot集成Flyway

时光怂恿深爱的人放手 提交于 2020-02-28 07:11:52

一、简单介绍

> 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文件名写错了导致的,特别注意是两个下划线!!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!