新的 Flyway 脚本替换“损坏”的脚本,旧的脚本永远不会运行?

问题描述 投票:0回答:1

我们有这个脚本名称

V1_0_15_1__anytext.sql
,它被复制到飞行系统。

但是它从未成功,因为它有

Insert Into ... Values (1,2, '${variable1}')
并且 $variable 应该按原样保存,而无需使用 Flyway 占位符替代。

脚本在这一行失败并回滚,我的理解 Flyway 有错误,因为它没有

${variable1}
替代值,默认的 Flyway 占位符
prefix=${  | suffix=}
冲突。

所以这个V1_0_15_1从未成功,我们如何提供一个没有

${...}
子字符串语法的新flyway脚本。我们更改了应用程序级别的替代语法。

  • 脚本仍可能被覆盖
    V1_0_15_1__anytext.sql
    原始文件名?
  • 或者按原样保留这个“损坏的”脚本并提供新的
    V1_0_15_2__anytext.sql
    文件名?
  • 或者按原样保留这个“损坏的”脚本并提供新的
    V1_0_15_1_1__anytext.sql
    文件名?
database-migration flyway
1个回答
0
投票

客户对损坏的脚本进行了临时编辑,手动修复了数据库并重新运行迁移。我们还提供了下一个

_16_1__fix.sql
脚本序列,以重新运行相同的 InsertUpdate 数据修改,以防万一。

© www.soinside.com 2019 - 2024. All rights reserved.