【问题标题】:Does Flyway support defining the list of sql migrations on a file?Flyway 是否支持在文件上定义 sql 迁移列表?
【发布时间】:2017-09-18 08:44:39
【问题描述】:

在 Flyway 中,我无法使用定义确切有序迁移脚本集的文件(类似于 Liquibase approach)。

除了实现我自己的MigrationResolver,还有什么办法吗?

【问题讨论】:

    标签: flyway


    【解决方案1】:

    Flyway 不需要您在另一个文件中列出您的迁移。相反,Flyway 迁移按 versioned migrations 的版本号排序并按该顺序应用。默认情况下,版本化迁移以 V 开头。您的迁移需要根据它们应该应用的顺序具有版本号。通过在版本号中明确说明,这避免了在文件中复制序列的需要。我建议在你的数字中前导零,以使它们在文件系统上也能很好地排序。

    例如:

    V100__new_feature_a_part_1.sql
    V110__new_feature_a_part_2.sql
    V111__new_feature_a_part_3.sql
    V120__new_feature_b.sql
    

    【讨论】:

    • 当然,但有时我更喜欢声明性方法,其中完整的有序迁移集在文件中定义。
    • @DavideCavestro,您可以为 Flyway 每个“组”迁移提供一个目录,然后启用 ignoreMissingMigrations。这种方法的一个缺点是您将无法从头开始重新创建数据库。
    • @DavideCavestro 我同意这是产品的一个严重弱点,因为迁移清单将允许在版本控制中安全且明确地合并。
    猜你喜欢
    • 2020-07-19
    • 2021-08-23
    • 2012-07-16
    • 2020-08-18
    • 2016-08-23
    • 2011-04-24
    • 2022-08-03
    • 2017-01-07
    • 2013-10-13
    相关资源
    最近更新 更多