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
有些事情,没经历过不知道原理,没失败过不明白奥妙,没痛苦过不了解真谛。临渊羡鱼,不如退而结网!

浙公网安备 33010602011771号