【flyway】SpringBoot集成Flyway

目录

  • Flaway是什么?
  • SpringBoot集成Flyway --gradle项目
  • 注意

Flaway是什么?

Flyway是一款数据库迁移(migration)工具。简单点说,就是在你部署应用的时候,帮你执行数据库脚本的工具。Flyway支持SQL和Java两种类型的脚本,你可以将脚本打包到应用程序中,在应用程序启动时,由Flyway来管理这些脚本的执行,这些脚本被Flyway称之为migration。
Liquibase有类似功能。

SpringBoot集成Flyway --gradle项目

	implementation 'org.flywaydb:flyway-core'

在这里插入图片描述
在 resources 目录下,手动创建 db/migration 目录,并在该目录下创建数据库脚本,数据库脚本的命名方式如下:

V<VERSION>__<NAME>.sql

首先是大写字母 V,然后是版本号,要是有小版本可以用下划线隔开,例如 2_1,版本号后面是两个下划线,然后是脚本名称,文件后缀是 .sql

项目启动,Flyway 会自动创建一个 flyway_schema_history 表,这个表用来记录数据库的更新历史。

注意

我们在定义脚本的时候,除了 V 字开头的脚本之外,还有一种 R 字开头的脚本,V 字开头的脚本只会执行一次,而 R 字开头的脚本,只要脚本内容发生了变化,启动时候就会执行。(R字开头的还没有进行验证)

所有的脚本,一旦执行了,就会在 flyway_schema_history 表中有记录,如果你不小心搞错了,可以手动从 flyway_schema_history 表中删除记录,然后修改 SQL 脚本后再重新启动(开发环境视情况可操作,其他环境不建议这样进行操作)。

你可能感兴趣的:(☞,【DB】,spring,boot,java,后端)