springboot集成flyway

flyway可以自动同步数据库脚本,在一个新环境部署时只需要创建好数据库后自动生成所有脚本中的sql,保证数据库一致性,节省部署时间

  1. 在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
  1. 需要手动新建文件夹
  2. 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>
  1. 创建sql文件,文件名格式: V1.1__init_db.sql
    如果项目数据库已经存在了,那我们直接在数据库工具中导出所有表和数据的sql然后新建sql文件,一般是第一个,名字就是上边那个,把内容粘贴进去,第一次启动后flyway自动扫描完,不会报错,然后后边再新建的就起V1.2 V1.3 ... 里边写新增的sql就行。
相关推荐
JaneConan3 分钟前
鸿蒙报错速查:arkts-no-any any 类型禁用,用了就炸,根因 + 真解法
后端·harmonyos
还是奇怪11 分钟前
Simon Willison 用 DSPy 优化 Datasette Agent 提示词:提示工程正在变成可测试的软件工程
java·开发语言·软件工程
zfoo-framework26 分钟前
1.ansible安装 2.虚拟机克隆
java
颜酱32 分钟前
# 02 | 搭骨架:用 LangGraph 编排 12 步工作流(思路)
前端·人工智能·后端
颜酱33 分钟前
02 | 搭骨架:用 LangGraph 编排 12 步工作流
前端·人工智能·后端
码上解惑35 分钟前
从 Dify 工作流说起:常用节点怎么选、怎样组合?
java·人工智能·ai·agent·dify·智能体·spring ai
青山木2 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
嘉伟桑2 小时前
Python调用电价API返回JSON示例:分时电价、现货电价和字段解析
后端
程序员-珍2 小时前
报错下载android sdk失败
android·java
武子康2 小时前
Shippy:确定性工具、会话级 Sandbox 与 Live-Data Eval(4 类收敛 + 7 步实现方案 + 6 类评测指标)
前端·人工智能·后端