初见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 \[不好]
相关推荐
zhangguojia78 小时前
权限弹窗点击允许的授权流程
运维·服务器·数据库
jnrjian8 小时前
Postgres 序列(sequence)的权限
数据库·postgresql
风禾万里8 小时前
【无标题】
数据库
镜舟科技8 小时前
为什么 Text-to-SQL 总是停在 Demo?
数据库·sql·demo·text-to-sql·镜舟科技·mip·语义视图
人生苦短1288 小时前
Oracle RAC 日常管理+排错命令大全
数据库·oracle
镜舟科技8 小时前
从 DBA 经验到 Agent:镜舟如何构建生产级智能排障体系
数据库·agent·dba·skill·devops agent·mirrorship
瀚高PG实验室8 小时前
HAC 集群主节点状态在starting、running之间频繁切换
运维·数据库·postgresql·瀚高数据库
其实防守也摸鱼8 小时前
教育信息技术应用创新---基础软件信息赛
运维·服务器·数据库·github·copilot
GG-_-Bond8 小时前
9.1-kv存储持久化的设计
数据库
Gauss松鼠会9 小时前
【GaussDB】GaussDB 组件、节点和AZ故障仲裁与切换流程
运维·服务器·数据库·gaussdb