首页 > 解决方案 > Flyway:环境占位符无法识别

问题描述

已经在MAC中下载了flyway版本flyway-7.14.0命令行tar文件

无法从 FLYWAY_PLACEHOLDERS_RETSCHEMA 读取值,尝试使用 $ 和 @

我在脚本中给出了如下

export FLYWAY_PLACEHOLDERS_RETSCHEMA=DEV_RET
/path/flyway/flyway-7.14.0/flyway migrate -configFiles=config/flyway_dev.conf -password='****'

V1.0.0__init.sql 文件如下

CREATE SCHEMA IF NOT EXISTS @{RETSSCHEMA};
USE SCHEMA @{RETSCHEMA};

但它抛出了一个错误

Successfully validated 51 migrations (execution time 00:19.616s)
Current version of schema "DEV_RET": << Empty Schema >>
Migrating schema "DEV_RET" to version "1.0.0 - init"
ERROR: Migration of schema "DEV_RET" to version "1.0.0 - init" failed! Please restore backups and roll back database and code!
ERROR: Migration V1.0.0__init.sql failed
---------------------------------
SQL State  : 42000
Error Code : 1003
Message    : SQL compilation error:
syntax error line 1 at position 28 unexpected '@{RETSCHEMA}'.
Location   : sql/flyway/versions/V1.0.0__init.sql (/Users/work/sql/flyway/versions/V1.0.0__init.sql)
Line       : 1
Statement  : CREATE SCHEMA IF NOT EXISTS @{RETSCHEMA}

标签: snowflake-cloud-data-platformflyway

解决方案


推荐阅读