芸科技_付费阅读_技术方案_企业源码_商业源码_资源素材
2022-03-20 10:18:06

Spring Boot 集成 Flyway 实现数据库版本控制

标签:flyway,数据库版本

目录

Spring Boot 集成 Flyway 实现数据库版本控制

在项目迭代开发中,难免会有更新数据库 Schema 的情况,比如添加新表、在表中增加字段或者删除字段等,那么当我对数据库进行一系列操作后,如何快速地在其他同事的电脑上同步?如何在测试/生产服务器上快速同步?

img

每次发版的时候,由于大家都可能有 sql 更改情况,这样就会有以下痛点:

  • 忘记某些 sql 修改
  • 每个开发人员的 sql 的执行顺序问题
  • 重复更新
  • 需要手动去数据库执行脚本

以上问题以及痛点可以通过 Flyway 工具来解决,Flyway 可以实现自动化的数据库版本管理,并且能够记录数据库版本更新记录。

Flyway 简介

Flyway 是独立于数据库的应用、管理并跟踪数据库变更的数据库版本管理工具。用通俗的话讲,Flyway 可以像 Git 管理不同人的代码那样,管理不同人的 sql 脚本,从而做到数据库同步,更多的信息可以在 Flyway 的官网上进行阅读学习。

另外 Flyway 支持很多关系数据库,具体如下所示:

img

下面我们在 Spring Boot 中集成 Flyway 来实现数据库版本控制。

Spring Boot 集成 Flyway

首先创建一个 SpringBoot 项目,然后在 pom.xml 加入如下依赖集成 Flyway:

org.flywaydbflyway-core5.2.4

然后在 application.yml 中写入 mysql 的配置及 Flyway 的相关配置(Flyway locations 默认读取当前项目下的 resources/db/migration 目录)

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123

spring.flyway.locations=classpath:/db/migration/

接下来,在 resources/db/migration 目录下创建需要执行的 SQL 脚本即可。

其中,SQL 脚本命名规范如下:

img

扫码免登录支付
本文章为付费文章,是否支付3元后完整阅读?

如果您已购买过该文章,[登录帐号]后即可查看



温馨提示:

1、本内容转载于网络,版权归原作者所有!
2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!
上一篇:ubuntu22.04lts安装pytorch运行脚本提示AssertionError:Torch not compiled with CUDA enabled及显卡压测python脚本
下一篇:ESXI 7.0.2 Intel 核心显卡直通开启3D加速