其他分享
首页 > 其他分享> > SpringBoot中使用Flyway

SpringBoot中使用Flyway

作者:互联网

SpringBoot中使用Flyway以及错误记录

一、什么是Flyway?

官网地址:flyway官网
Flyway是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。
Flyway可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations可以写成SQL脚本,也可以写在Java代码中,不仅支持Command Line和Java API,还支持Build构建工具和Spring Boot等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。
通俗的讲,Flyway可以像Git管理不同的人的代码那样,管理不同人的sql脚本,坐到数据库同步的功能。

二、SpringBoot中使用Flyway

1.引入依赖/jar包

新建SpringBoot项目;
在pom.xml文件中添加依赖;
注意:版本号默认,需要保持和spring-boot-starter-parent父版本号一致,自定义过高版本会出现不兼容情况 。

<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-core</artifactId>
</dependency>

2.创建Flyway存放路径

resource下创建db\migration文件夹路径,(默认情况下是classth:db/migration,但你能够在配置中使用flyway.locations进行修改。)

3.Flyway sql脚本命令规则

db\migration文件夹下创建sql文件;
对于Flyway的脚本V<VERSION>__<NAME>.sql;
这里的VERSION使用下划线进行命名的方式;NAME:对当前脚本的描述,这里举例说明下:
V20220202__INSERT_STUDENT.sql:这就代表version=20220202,描述为向student表中插入数据;

4.使用es

如果使用ES的情况下,可以在db文件夹下创建文件夹es,在该路径下建立应用系统的版本号,例如V1.0.0
温馨提醒:其一这里的V字母要大写;其二version后面的下划线是两个下划线。
migration 后的SQL 脚本不应该再被修改,不然启动程序的时候会报错。

5.配置

想要启动Flyway功能,需要在application.yml中进行配置:

spring:
  flyway:
    # 数据库名称
    schemas: test
    # flyway自动配置 true 开启
    enabled: true
    #设定 SQL 脚本的目录,多个路径使用逗号分隔, 比如取值为 classpath:db/migration,filesystem:/sql-migrations
    locations:
      - classpath:db/migration
    # 如果数据库不是空表,需要设置成 true,否则启动报错
    baseline-on-migrate: true
    # 与 baseline-on-migrate: true 搭配使用
    baseline-version: 0
    encoding: UTF-8
    # 开发环境最好开启 outOfOrder, 生产环境关闭 outOfOrder .
    out-of-order: false
    # 禁止清理数据库表
    clean-disabled: true
    # 校验
    validate-on-migrate: true
    # 版本控制日志表,默认flyway_schema_history,不同系统建议修改改数据
    table: flyway_schema_history

三、Flyway流程简介

四、错误总结/注意要点

1.注意要点

2.错误总结

Flyway出现:validate failed:detected failed migration to version

SpringBoot中使用Flyway出现:


如果错误,欢迎指出

标签:SpringBoot,数据库,使用,Flyway,version,migration,sql,flyway
来源: https://blog.csdn.net/qq_35995691/article/details/122770451