springboot 3 + mysql8 + flyway 数据库版本管理

本文介绍了如何在Springboot项目中集成Flyway工具进行数据库版本管理和迁移,包括文件命名规则、版本控制策略以及Springboot配置。还提到注意事项,如错误处理和版本冲突的解决方法。

1、flyway

flyway官方文档地址:https://documentation.red-gate.com/fd
对于不怎么看文档的我来说:
1)flyway是个管理数据库版本的工具,可以对不同环境的sql进行迁移操作。
2)优点:初始化、后期数据的管理、变更等,个人认为锦上添花的是一件执行数据脚本,方便快捷
对于数据库每当发布时会出现手动执行sql脚本进行升级数据库,中间经常出现一些漏写、错写情况,对数据库的版本与代码的版本不匹配,

2、文件命名规则

在这里插入图片描述
前缀:
V 代表版本变迁(Versioned Migrations),
U 代表撤销变迁(Undo Migrations),
R 代表可重复变迁(Repeatable Migrations),一般为可重复执行的sql语句。没有版本号
版本号: 唯一的版本号,比如V1.0.1
分隔符: __ (两个下划线)
描述信息: 描述信息
后缀: .sql
== 其中,V开头的SQL执行优先级要比R开头的SQL优先级高==

命名eg:
V1__insert.sql
R__insert.sql

3、版本号

- 0.0.1.10.0.1- 0.0.100.0.010 一样高

4、Springboot集成Flyway

4.1 pom


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>


    <!--引入 Spring Boot Starter 父工程: -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.flyway</groupId>
    <artifactId>flyway</artifactId>
    <version>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AimerDaniil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值