在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的新手,所以我希望这很简单,但谷歌搜索找不到任何有用的东西。提前感谢您的帮助