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

初见flyway

flyway (一种数据库版本控制工具 document)

两种文件 V 和 R

V: V 开头是不可重复执行的文件,每次修改完都该更改名称
R: R 开头是可重复执行的文件,需要保证内部sql都是可以重复执行的

名称格式: V__table_name.sql, R__table_name.sql

操作

baseline: 以现在数据库状态为基准,创建 flyway_schema_history表,以及相关信息填充 [类似初始化]

migrate: flyway根据sql的变化来进行更新

repair: 对最近的迁移失败做一次修复 [类似回滚]

undo: 撤销最近一次的版本升级,无论成功与否

clean: 删除表,包括 flyway_schema_history

info: 打印所有迁移的信息,包括版本变化

validate: 校验本次迁移

原理

在第一次执行flyway时候,会创建一个名为 flyway_schema_history 的表,其存放的是每次迁移的结果。
flyway在后续迁移动作时,会校验文件名称以及是否修改,然后做相应的动作。

  1. 对于R文件,如果在flyway_schema_history中有记录,则不能直接删除,需要保留文件[或者直接删除flyway_schema_history表中对该文件的所有记录 ‘不好’]。
  2. 对于执行失败后,需要执行repair后,才能进行下一次操作,[或者将flyway_schema_history中记录success改为true [不好]]

相关文章:

  • MongoDB 和 MySQL 的对比
  • Flutter 页面布局 Flex Expanded弹性布局
  • 谷歌上架,个人号比企业号好上?“14+20”封测如何解决,你知道了吗
  • 基于RV1126的AI网络摄像机AHD、CVBS、HDMI接口的区别有哪些?支持8路AHD摄像头,支持AI实时分析
  • Python-温故知新
  • 2024上海国际化工自动化仪器仪表展览会
  • 数据结构_栈在括号匹配中的应用_代码
  • 使用位掩码的权限设计
  • 前端实现打印功能
  • Nginx(负载均衡,反向代理)
  • [实用技巧]Unity中,Sprite和SpriteRenderer的实用小贴士
  • 汽车标定技术(二十一)--英飞凌TC3xx的OLDA怎么玩?(2)
  • Python 造数据神器Faker
  • 如何在window中快速建立多个文件夹?
  • Java技术精粹:高级面试问题与解答指南(二)
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • ESLint简单操作
  • Git的一些常用操作
  • js递归,无限分级树形折叠菜单
  • js面向对象
  • linux学习笔记
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Spring Boot快速入门(一):Hello Spring Boot
  • SwizzleMethod 黑魔法
  • 力扣(LeetCode)56
  • 聊一聊前端的监控
  • 前嗅ForeSpider采集配置界面介绍
  • 山寨一个 Promise
  • 突破自己的技术思维
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 学习笔记TF060:图像语音结合,看图说话
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 移动端高清、多屏适配方案
  • # 透过事物看本质的能力怎么培养?
  • #pragma once
  • #pragma once与条件编译
  • (C语言)fread与fwrite详解
  • (C语言)逆序输出字符串
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (汇总)os模块以及shutil模块对文件的操作
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (四)linux文件内容查看
  • (算法)前K大的和
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)EXC_BREAKPOINT僵尸错误
  • .jks文件(JAVA KeyStore)
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .net 生成二级域名
  • .NET/C#⾯试题汇总系列:集合、异常、泛型、LINQ、委托、EF!(完整版)
  • .NET/C#⾯试题汇总系列:⾯向对象