为了确定必须运行哪个迁移,Flyway 对数据库进行了多少次往返?

Posted

技术标签:

【中文标题】为了确定必须运行哪个迁移,Flyway 对数据库进行了多少次往返?【英文标题】:How many round trips to the database Flyway is doing to determine which migration have to be run? 【发布时间】:2016-09-17 13:55:01 【问题描述】:

我的文件夹“db/migration”中有 10 个迁移脚本(V1 到 V10)。当我之前启动我的应用程序时,首先运行了 5 个。 因此,下次我将启动它时,我希望从 V6 到 V10 的脚本将运行。 我的问题是:

Flyway 如何确定必须运行哪些脚本?

如果它必须检查数据库中的信息:

需要多少次往返数据库?

对我来说,尽可能少的往返次数非常重要。

【问题讨论】:

【参考方案1】:

Flyway 每次迁移执行一次往返。这意味着每次应用迁移时,它都会在应用下一个迁移之前再次查询 schema_version 表(这是支持多个节点尝试并行迁移数据库所必需的)

【讨论】:

以上是关于为了确定必须运行哪个迁移,Flyway 对数据库进行了多少次往返?的主要内容,如果未能解决你的问题,请参考以下文章

Flyway 数据库迁移在部署新战争时自动运行

flyway迁移后运行data.sql文件

Flyway 条件数据库迁移

如何使用 flyway 跳过特定的迁移?

迁移前的 Flyway 回调

我正在使用 Flyway 数据库迁移工具。我可以存档已迁移的工件还是必须保留在当前文件夹下?