【问题标题】:FlyWay versionsFlyWay 版本
【发布时间】:2018-02-27 04:13:41
【问题描述】:

我对版本化迁移有疑问

我想用这样的模板创建文件

V201709181750__Create_users.sql - 这是一个可以使用的长数字吗?

还有一个问题 FlyWay 推出了这样的脚本

  • V201709181500__Create_users_1.sql
  • V201709181800__Create_users_2.sql

然后我提交文件V201709181600__Create_users_3.sql

当文件打到中间,并没有成为最新版本。 FlyWay 在这种情况下会如何表现?

【问题讨论】:

    标签: java flyway


    【解决方案1】:

    每个迁移的版本号存储在数据库中的 SCHEMA_VERSION 表中。字段 VERSION 声明的长度为 50。(SqlServer 中的 nvarchar(50))。 我假设 50 个符号是版本字符串的限制。

    顺便说一句,我尝试了 1.11.201709181750201709181750201709181750.020 作为版本,它运行良好。

    第二个问题: 默认情况下,如果 Flyway 发现无序迁移并显示以下消息,它将无法应用迁移: 验证失败:检测到已解决的迁移未应用于数据库

    但是这种行为可以通过覆盖"outOfOrder" 配置标志来改变。查看命令行运行器的详细信息:

    https://flywaydb.org/documentation/commandline/migrate

    【讨论】:

    • 是的。如果缺少任何版本,“outOfOrder”属性可以忽略。但是,如果将缺少的迁移应用于 Db,则相应迁移的状态将视为 OutOfOrder。
    猜你喜欢
    • 2015-06-18
    • 2022-01-14
    • 2018-10-06
    • 2020-03-16
    • 2016-05-24
    • 2022-01-23
    • 1970-01-01
    • 2020-01-17
    • 2019-05-04
    相关资源
    最近更新 更多