Flyway 的使用及Spring Boot集成Flyway

一、简单介绍

Flyway 是一个开源、跨环境的数据库迁移工具,它强烈主张简单性和约定性而不是配置。

Flyway 的使用及Spring Boot集成Flyway_第1张图片

Flyway 是一个便于多人开发对数据库管理的工具,将sql语句写入文件中,只需要在控制台输入指令就可以完成数据库的修改

二、使用方法

参考:Flyway官方文档

首先添加maven依赖,如果你使用其他管理工具,请依照官网进行使用



    org.flywaydb
    flyway-maven-plugin
    5.2.4
    
        jdbc:mysql://localhost:3306/db_community
        root
        root
    
    
        
            mysql
            mysql-connector-java
            5.1.6
        
    

你只需要会sql语句的写法即可,将你需要执行的sql写入一个文件,文件命名规则为V1.2__Description.sql,前面一个大写字母V,接上数字,然后再写两个下划线,中间是你自定义文件名,尽量做到见名知意,文件以.sql结尾

存放目录为:resources/db/migration

Flyway 的使用及Spring Boot集成Flyway_第2张图片

打开idea控制台,输入mvn flyway:migrate,出现BUILD SUCCESS即执行成功,即使报错,打印的日志也很清楚,可以很快的找到错误点

Flyway 的使用及Spring Boot集成Flyway_第3张图片

我在上面的文件写了创建user表的语句,执行后发现数据库额外多了一个flyway_schema_history表,这张表实际上记录了你操作的信息

Flyway 的使用及Spring Boot集成Flyway_第4张图片

如果我想为user表添加一个bio字段,直接新建一个sql文件,起好名字,写入sql语句,执行命令,切记,不能在上一个文件里直接修改!!!

Flyway 的使用及Spring Boot集成Flyway_第5张图片

Flyway 的使用及Spring Boot集成Flyway_第6张图片

Flyway 的使用及Spring Boot集成Flyway_第7张图片

可以看到,真的多了一个字段

flyway_schema_history表结构如下

Flyway 的使用及Spring Boot集成Flyway_第8张图片

Flyway 的使用及Spring Boot集成Flyway_第9张图片

三、常见错误

如果你遇到这样的错误,百度对应版本,修改版本,使数据库和Flyway版本在同一水平

Flyway 的使用及Spring Boot集成Flyway_第10张图片

这个错误是由于sql文件名写错了导致的,特别注意是两个下划线!!

你可能感兴趣的:(Flyway 的使用及Spring Boot集成Flyway)