数据库版本控制中间件FlyWay部署安装及使用实例

网友投稿 822 2022-05-30

在开发过程中,我们经常使用git来控制代码版本,非常的方便,哪数据库其实也有版本控制中间件,就是大名鼎鼎的FlyWay,目前该手册也是给客户项目写的部署及配置手册,应该是比较详情的操作步骤了,如果有问题可以留言交流,或者给我发私信也可以。

如果条友喜欢,还请给个关注

序号

时间

版本

备注

1

2021/08/31

1.0

刘志虎

文档初始化

2

2021/09/02

1.1

刘志虎

添加注意事项

3

数据库版本控制中间件FlyWay部署安装及使用实例

2021/09/06

1.2

刘志虎

增加内部沟通会建议

4

2021/11/01

1.3

刘志虎

修改文件命名规范、注意事项

有变动否成功迭代否程序运行数据库版本对比数据库版本对比执行新脚本结束程序正常启动程序终止

一、数据库变更常见问题

无法确认是否遗漏了某个数据库脚本未执行

无法确认在某台机器上执行过哪些数据库脚本

代码版本库无法管理数据库脚本依赖关系

二、FlyWay提供的功能

Flyway可以自动检测指定目录下的数据升级文件并升级至指定版本

Flyway可以检测已执行过的数据升级文件是否有改动及是否有错误

Flyway可随时展示当前数据库版本和已执行过的数据库升级

Flyway可以依照数据库脚本文件命名规则依次执行数据库脚本

Flyway可以自动检测指定目录下的数据回滚文件并回滚至指定版本

三、使用流程

首先POM中添加

org.flywaydb flyway-core 6.4.4

文件目录

脚本文件统一放在 resources>db>migration目录下

文件命名规则

V模块内部版本__上线版本_备注.sql

模块内部版本是递增的数字类型

发布版本Release版本号,各个模块内部版本可能不一致,但同一个时间发布的版本的Release必须一致,如果不一致,会按照从小到大的顺序执行

备注是添加有意义的信息,方便知道脚本内容,比如模块名称

脚本文件一般分为R、V开头的,R开头的是可以多次执行的脚本,V是有版本的脚本。

application.properties 配置信息

spring.flyway.enabled=true spring.flyway.baseline-on-migrate=true spring.flyway.check-location=true spring.flyway.locations=classpath:/db/migration spring.flyway.validate-on-migrate=true

flyway.enabled 是否开启,开发、测试环境开始,生产环境设置

falseflyway.baseline-on-migrate 已当前数据库为基准

flyway.check-location 检测脚本的路径是否存在

flyway.validate-on-migrate 校验脚本

程序执行

mvn spring-boot:run

直接执行命令或者点击项目的运行都可以执行,可以到类似如下效果

微服务注意事项

约定大于规范

原则是数据库及表的DDL操作唯一、DML操作可以多处,但全局、字典类型数据要提前约定好,谁建谁维护的原则

V2.0.0__20211111_cmdb.sql

V2.0.1__20211111_cmp.sql

V2.0.2__20211111_ecc.sql

V2.0.3__20211111_sdn.sql

开发/测试环境开启自动版本控制功能,生产关闭发

布生产的时候,需要把各个模块的SQL脚本手动的合并后执行一次

数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:窥一斑而知全豹,几分钟带你读懂Java字节码,再也不怕了
下一篇:百度语音识别笔记
相关文章