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

news/2024/12/18 23:26:44/

简介

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

使用

引入依赖

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

配置

spring:flyway:enabled: truelocations: classpath:sqlbaseline-on-migrate: trueclean-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.ppmy.cn/news/1556230.html

相关文章

Java——网络编程(下)

(UDP通讯的实现) 1 UDP通信介绍 (面向无链接的一个传输协议——>不会创建连接——>效率高) (发送数据要经行封包操作——>使用DatagramPacket类——>底层是UDP) (DatagramPacket——>数据封包——>发送数据和接收数据都要去包装对象!&#xf…

Cisco Packet Tarcer配置计网实验笔记

文章目录 概要整体架构流程网络设备互连基础拓扑图拓扑说明配置步骤 RIP/OSPF混合路由拓扑图拓扑说明配置步骤 BGP协议拓扑图拓扑说明配置步骤 ACL访问控制拓扑图拓扑说明配置步骤 HSRP冗余网关拓扑图拓扑说明配置步骤 小结 概要 一些环境配置笔记 整体架构流程 网络设备互连…

力扣-图论-10【算法学习day.60】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…

区间和并-

题目一&#xff1a;1399: 校门外的树 P1399 - 校门外的树 - HAUEOJ 代码 #include<bits/stdc.h> using namespace std;using PII pair<int,int>; const int N 1e510; vector<PII>a, b;int main() {int n, m;cin >> n >> m;while(m --) {int …

神州数码DCME-320 online_list.php 任意文件读取漏洞复现

0x01 产品描述: ‌神州数码DCME-320是一款高性能多业务路由器,专为多用户、多流量和多业务种类需求设计‌。它采用了

#GC4049. GC.2017---. GC.2016.六年级

这套题包含了历年真题&#xff0c;包含了前面我写的博客中的题目&#xff0c;十分重要&#xff01;&#xff01;&#xff01;&#xff01;要考试的同学可以参考一下&#xff01;&#xff01; 此套题限时3小时。 #GC4049. GC.2017.六年级.01.更多闰年 题目描述 在 smoj 网站上…

10 JVM内置锁

我们先想明白一个问题&#xff0c;什么是锁&#xff1f; 我们去给自己家锁门的时候&#xff0c;只有对应的一把钥匙能开锁。当用钥匙去开锁的时候&#xff0c;锁孔的内置型号会验证钥匙能不能对的上。能对上就能把锁打开&#xff0c;然后进到家里使用家里的资源。否则就在外面等…

Python 写的《桌面时钟》屏保

原代码&#xff1a; # 日历式时钟 # 导入所需的库 # 作者&#xff1a;Hoye # 日期&#xff1a;2024年12月16日 # 功能&#xff1a;显示当前日期、星期、时间&#xff0c;并显示模拟时钟 import tkinter as tk from tkinter import ttk import time import math import sysdef …