Java flywaydb数据库更新

1、pom

<!-- springboot已经集成了flyway,加入依赖时并不需要添加版本号 -->
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
        </dependency>
        <!-- flyway-core 8.2.1及以后的版本确实是不再支持MySQL -->
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-mysql</artifactId>
        </dependency>

2、配置文件

spring.flyway.enabled: true
# 禁止清理数据库表
spring.flyway.clean-disabled: true
# 如果数据库不是空表,需要设置成 true,否则启动报错
spring.flyway.baseline-on-migrate: true
# 与 baseline-on-migrate: true 搭配使用
spring.flyway.baseline-version: 0

3、版本文件,如V20230805.1__test.sql

在classpath:db/migration 目录(可配置)下创建数据库脚本

第一种:versioned migration V<VERSION>__<NAME>.sql 首先是 V ,然后是版本号,如果版本号有多个数字,使用_分隔,比如1_0_0版本号的后面是 2 个下划线,最后是 SQL 脚本的名称。

第二种:Repeatable migration R<Repeatable>__<NAME>.sql 这个里面的sql每次项目启动都会执行。 例如:R__user.sql

这里需要注意:V 开头的只会执行一次,下次项目启动不会执行,也不可以修改原始文件,否则项目启动会报错,如果需要对 V 开头的脚本做修改,如果有个 SQL 脚本需要在每次启动的时候都执行,那么将 V 改为 R 开头即可。

4、其他说明

版本记录表(可配置) flyway_schema_history

 

posted @ 2023-08-05 14:10  都是城市惹的祸  阅读(214)  评论(0)    收藏  举报