Springboot+Flyway管理项目SQL脚本怎么写

发布时间:2021-09-29 17:19:44 作者:柒染
来源:亿速云 阅读:268

这篇文章给大家介绍Springboot+Flyway管理项目SQL脚本怎么写,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

测试包放在前面

Flyway 的工作原理

flyway 需要在 DB 中先创建一个 metdata 表 (缺省表名为 flyway_schema_history), 在该表中保存着每次 migration 的记录, 记录包含 migration 脚本的版本号和 SQL 脚本的 checksum 值. 当一个新的 SQL 脚本被扫描到后, Flyway 解析该 SQL 脚本的版本号, 并和 metadata 表已 apply 的的 migration 对比, 如果该 SQL 脚本版本更新的话, 将在指定的 DB 上执行该 SQL 文件, 否则跳过该 SQL 文件.

版本号大小说明

两个 flyway 版本号的比较, 采用左对齐原则, 缺位用 0 代替. 举例如下:

脚本分类

Flyway SQL 文件可以分为两类:

Versioned

Versioned migration 用于版本升级, 每个版本有唯一的版本号并只能 apply 一次

Repeatable

Repeatable migration 是指可重复加载的 migration. 一旦 SQL 脚本的 checksum 有变动, flyway 就会重新应用该脚本. 它并不用于版本更新, 这类的 migration 总是在 versioned migration 执行之后才被执行.

Migration SQL的命名规则图

Springboot+Flyway管理项目SQL脚本怎么写

其中的文件名由以下部分组成,除了使用默认配置外,某些部分还可自定义规则.

关于开发|生产环境版本说明

  1. 开发环境 SQL 文件建议采用时间戳作为版本号.

多人一起开发不会导致版本号争用, 同时再加上生产环境的版本号, 这样的话, 将来手工 merge 成生产环境 migration 脚本也比较方便, SQL 文件示例:

V20200317.1059__V1.0_Unique_User_Names.sql
V20180317.1459__V1.0_Add_SomeTables.sql
  1. 生产环境 SQL 文件, 应该是手动 merge 开发环境的 SQL 脚本, 版本号按照正常的版本, 比如 V2.1.5_001__Release.sql

关于Springboot+Flyway管理项目SQL脚本怎么写就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 我写的一键安装MySQL脚本——暴力版
  2. scnhealthcheck.sql脚本

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spring boot flyway

上一篇:Shell脚本如何实现把进程负载均衡到多核CPU中

下一篇:如何实现IE6支持最小高度min-height与最大高度max-height

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》