Flyway 可以将 V1__*.sql 文件拆分为多个文件,例如 V1__1.sql、V1__2.sql

Possibility for Flyway to split V1__*.sql file into multi files like V1__1.sql, V1__2.sql

我需要建立一个新的数据库,里面有50多张表,自然可以分为几组:

  1. Group1 用于一些具有共同数据的表。
  2. 表示同一个域上下文的表的第 2 组。
  3. 表示另一个相同域上下文的表的第 3 组。

每个组将被描述为一个单独的 SQL 文件,应按照上述顺序执行。 刚开始做数据库,应该都是V1版本吧

是这样的:

或使用名为 V1 的目录:

V1/

group1.sql
group2.sql
group3.sql

都是V1版本,group1.sql会在group2.sql之前执行,group2.sql会在group3.sql之前执行。

有了Flyway,我能实现吗?

有多种方法可以实现这一点。

同样值得注意的是,没有技术原因将数据库设置保持为版本 1; 虽然像 V1__ 和 V2__ 这样的名字听起来像是“版本 1”和“版本 2”,但事实并非如此。它实际上是两件事的串联,脚本类型(版本化)和序列号(不是版本号); V1 是第一个 versioned 脚本,V2 是第二个 versioned 脚本。 脚本将按照其版本号定义的顺序 运行。