flyway sbt占位符替换无法正常工作

时间:2014-04-04 03:05:45

标签: flyway

在Windows上使用Flyway 2.3,从命令提示符和cygwin中使用相同的结果。生产环境是Linux,但还没有在那里测试。

我的SQL文件包含以下行:

alter table person add ${new_col} text;

根据我在flyway sbt doc页面上看到的内容,我在build.sbt中添加了以下内容:

flywayPlaceholders := Map(
    "new_col" -> "temp_name"
)

当我跑步时

> sbt flywayMigrate

我明白了:

com.googlecode.flyway.core.api.FlywayException: No value provided for placeholder expressions: ${new_col}.  Check your configuration!

在cygwin下,如果我在命令行中指定替换,它确实有效:

> sbt flywayMigrate -Dflyway.placeholders.new_col=temp_name

命令行plaveholder替换在Windows命令提示符下不起作用,但我怀疑这是一个不同的问题,因为我的-D选项都没有被尊重。

我是sbt和Flyway的新手,所以我希望这很简单,但谷歌搜索找不到任何有用的东西。提前感谢您的帮助

1 个答案:

答案 0 :(得分:2)

build.sbt中的flywayPlaceholders当前是命令行配置 这是Flyway的一个错误。
我创建了一个pull request