infomix数据库版本sql_Flyway 实战:数据库版本管理

350bd07bf6c798bbd6453e433c029a9c.png

背景

在软件开发的过程中,开发人员都会使用版本控制系统来管理我们的代码,例如目前最流行的 Git。为什么要使用版本控制系统呢?

  1. 保存代码的历史版本、改动记录,实现代码的备份
  2. 解决协同开发过程中不同开发人员代码冲突版本回退的问题;
  3. 实现软件代码的持续集成持续发布部署
  4. 等等。

那大家有考虑过?每一次软数据库的变更也是需要做版本管理的,考虑以下这些问题:

  1. 多个环境下的数据库状态是否一致:比如在生产环境修复问题后,是否已经同步到开发环境,测试环境中;
  2. 如何获取某个环境中数据库的状态?某个 SQL 脚本是否已经执行过了?
  3. 一个新的环境,如何快速地设置你的数据库实例?
  4. 特定软件代码版本与数据库 Schema 的兼容问题怎么解决?
  5. 等等

这些问题可以通过 Schema migration[1] 或 Database migrations工具来解决,例如本文要讲的 Flyway[2] 。Flyway 是一个开源的数据库迁移工具,对 Java 生态支持得比较好,比如有 Java API,Maven pluginGradle plugin;好在它有命令行工具,迁移逻辑用 SQL 脚本写就行了,所以如果是 golang 生态一样可以用。

快速开始

本节将通过 Flyway 命令行工具来体验一下 Flyway,了解一下它的使用方法和工作原理。

前置工作

首先,下载并解压对应平台的 Flyway 社区版到本地,本人使用的环境是 macOS Big Sur + MySQL 5.7。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值