初见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 [不好]]
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值