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多张表,自然可以分为几组:
- Group1 用于一些具有共同数据的表。
- 表示同一个域上下文的表的第 2 组。
- 表示另一个相同域上下文的表的第 3 组。
每个组将被描述为一个单独的 SQL 文件,应按照上述顺序执行。
刚开始做数据库,应该都是V1版本吧
是这样的:
- V1__group1.sql
- V1__group2.sql
- V1__group3.sql
或使用名为 V1 的目录:
V1/
group1.sql
group2.sql
group3.sql
都是V1版本,group1.sql会在group2.sql之前执行,group2.sql会在group3.sql之前执行。
有了Flyway,我能实现吗?
有多种方法可以实现这一点。
- 第一组的主要选项是
V1__
,第二组的主要选项是 v2__
,依此类推。
- 其次,你可以有更细粒度的版本号,比如第一组的
v1.1
,第二组的 v1.2
。Flyway 非常灵活,它的版本号支持多个部分,例如 `v1 .1.0.68'。有关详细信息,请参阅 https://flywaydb.org/documentation/concepts/migrations#versioned-migrations。
同样值得注意的是,没有技术原因将数据库设置保持为版本 1;
虽然像 V1__ 和 V2__ 这样的名字听起来像是“版本 1”和“版本 2”,但事实并非如此。它实际上是两件事的串联,脚本类型(版本化)和序列号(不是版本号); V1 是第一个 versioned
脚本,V2 是第二个 versioned
脚本。
脚本将按照其版本号定义的顺序 运行。
我需要建立一个新的数据库,里面有50多张表,自然可以分为几组:
- Group1 用于一些具有共同数据的表。
- 表示同一个域上下文的表的第 2 组。
- 表示另一个相同域上下文的表的第 3 组。
每个组将被描述为一个单独的 SQL 文件,应按照上述顺序执行。 刚开始做数据库,应该都是V1版本吧
是这样的:
- V1__group1.sql
- V1__group2.sql
- V1__group3.sql
或使用名为 V1 的目录:
V1/
group1.sql
group2.sql
group3.sql
都是V1版本,group1.sql会在group2.sql之前执行,group2.sql会在group3.sql之前执行。
有了Flyway,我能实现吗?
有多种方法可以实现这一点。
- 第一组的主要选项是
V1__
,第二组的主要选项是v2__
,依此类推。 - 其次,你可以有更细粒度的版本号,比如第一组的
v1.1
,第二组的v1.2
。Flyway 非常灵活,它的版本号支持多个部分,例如 `v1 .1.0.68'。有关详细信息,请参阅 https://flywaydb.org/documentation/concepts/migrations#versioned-migrations。
同样值得注意的是,没有技术原因将数据库设置保持为版本 1;
虽然像 V1__ 和 V2__ 这样的名字听起来像是“版本 1”和“版本 2”,但事实并非如此。它实际上是两件事的串联,脚本类型(版本化)和序列号(不是版本号); V1 是第一个 versioned
脚本,V2 是第二个 versioned
脚本。
脚本将按照其版本号定义的顺序 运行。