flyway可以自动同步数据库脚本,在一个新环境部署时只需要创建好数据库后自动生成所有脚本中的sql,保证数据库一致性,节省部署时间
- 在yml配置文件中添加配置,连接到项目的数据库
locations: classpath:db/migration是resources中新建一个文件夹,文件名随便命名,里边放一些sql文件,项目启动后会自动扫描未运行的sql文件,可以将我们写好的sql之类的自动生成至数据库中
yaml
spring:
flyway:
enabled: true
clean-disabled: true
baseline-version: 1.0
baseline-on-migrate: true
url: jdbc:postgresql://127.0.0.1:5432/hel-sfld
user: postgres
password: password
locations: classpath:db/migration
- 需要手动新建文件夹

- pom文件中添加对应的依赖,最好加上代码生成依赖
java
<!-- Flyway 数据库迁移 -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>7.15.0</version>
</dependency>
<!-- 代码生成的 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
- 创建sql文件,文件名格式: V1.1__init_db.sql
如果项目数据库已经存在了,那我们直接在数据库工具中导出所有表和数据的sql然后新建sql文件,一般是第一个,名字就是上边那个,把内容粘贴进去,第一次启动后flyway自动扫描完,不会报错,然后后边再新建的就起V1.2 V1.3 ... 里边写新增的sql就行。
