当前位置: 首页 > article >正文

数据版本管理和迁移工具Flyway用法最简说明

简介

数据库迁移及版本控制工具, 用于维护不同环境下数据库的一致性

使用

引入依赖

implementation(“org.flywaydb:flyway-core:7.1.1”)

配置

spring:
  flyway:
    enabled: true
    locations: classpath:sql
    baseline-on-migrate: true
    clean-disabled: true

enabled: true # 开启Flyway(默认true)
locations: classpath:sql # 迁移脚本的位置(默认为classpath:db/migration)
baseline-on-migrate: true # 在没有元数据表的情况下,针对非空Schema执行迁移时是否自动调用基线, 开始执行基准迁移时对现有的schema的版本打标签, 默认版本值为1. 非空数据库则不执行V1_base.sql语句.
clean-disabled: true # 是否禁用clean操作,默认false,改为使用true

简单约定 迁移脚本放入sql/migration中, 基线版本命名为V1_base.sql

  1. 注释
    跨越整行的单行 (-) 或多行 (/* */) 注释

  2. 文件命名规则
    前缀+版本+分隔符+描述符+后缀: example-- V1.0__alter_user.sql 前缀:V用于版本化迁移、U撤消迁移、R可重复迁移
    版本:下划线(在运行时自动由点替换)分隔任意多个部分(不适用于可重复迁移)
    分隔符:(__两个下划线)
    描述:下划线(运行时自动替换为空格)分隔单词

  3. 升级规则
    springBoot应用运行时flyway会根据脚本进行数据库的初始化,执行的顺序会根据脚本版本号由低到高按顺序执行(1.0 -> 1.0.1 -> 1.0.2),每执行完一个版本脚本都会向记录表flyway_history_schema插入一条数据。

  4. 实用特性
    试运行模式 – 不再修改数据库,而是将所有本应应用的 SQL 语句发送到试运行输出(调试)
    批处理模式 – 批处理迁移脚本(高性能)


http://www.kler.cn/a/442402.html

相关文章:

  • IO模型与NIO基础二
  • ElasticSearch下
  • 增广卡尔曼滤波AKF的要点分析
  • FreeType 介绍及 C# 示例
  • JDK8新特性
  • 如何在前端给视频进行去除绿幕并替换背景?-----Vue3!!
  • 什么是Modbus协议网关?
  • 康冠科技嵌入式面试题及参考答案
  • Flux Tools 结构简析
  • 解决树形列表中数值层级累加
  • WordPress克隆网站:用户指南
  • Ubuntu下apt 无法安装的解决步骤
  • 【机组】概述精炼考点(冯诺依曼、层次结构、翻译语言、执行程序的过程、基本工作原理、运算器、控制器、存储器)
  • 深入了解AI编程工具Cursor:智能编程的未来
  • MySQL数据库02|去重、条件查询、排序、聚合函数、分组、分页显示
  • 小程序中使用 Vue2 + Vuex 实现数据存储与获取
  • 长短期记忆神经网络(LSTM)介绍
  • rpc设计的再次思考20251215(以xdb为核心构建游戏框架)
  • 如何有效的开展接口自动化测试?
  • 使用Python实现两组数据纵向排序
  • 建立在商用GPT上的简单高效单细胞表示模型
  • C# 识别二维码
  • 【TF-IDF】Hugging Face Model Recommendation System
  • 基础入门-APP应用微信小程序原生态开发H5+Vue技术WEB封装打包反编译抓包点
  • Spring整合Redis基本操作步骤
  • C# 字符串拼接的 7 种方式及性能对比