我正在使用启用了oracleSqlplus的flyway pro。我创建了一个文件夹结构来组织基于对象的脚本。尝试在flyway版本脚本中使用@(带有路径),该方法不起作用。
文件夹结构,
topFolder
-folderA
-AScript.sql
-folderB
-BScript.sql
-folderCommon
-AScript.sql
-V1__ASCRIPT.sql
-V2__BSCRIPT.sql
-V3__ASCRIPT.sql
内容:
V1__ASCRIPT.sql
@ AScript.sql->正确执行topFolder / folderA / Ascript.sql
V2__BScript.sql
@ BScript.sql->正确执行topFolder / folderB / Bscript.sql
V3__ASCRIPT.sql
@ topFolder / folderCommon / AScript.sql->这使我跌破错误,
org.flywaydb.core.api.FlywayException:SP2-0310:无法打开文件“ topFolder / folderCommon / AScript.sql”
我尝试了几乎所有可能的组合,
绝对路径,
与“ @ .. / .. / topFolder / folderCommon / AScript.sql”
尝试设置SQLPATH变量
与@@
这没有用。
仅在@中给出文件名即可。但是我想指定路径,以便可以重复使用文件名,并且不易出错。
我希望相对路径应该与flyway + oraclesqlplus选项一起使用。
谢谢。
答案 0 :(得分:0)
看起来您是从飞行flyway.locations=filesystem:
结束的点开始的路径开始的。
示例:
flyway.locations=filesystem:/opt/app/sql
您的脚本在哪里/opt/app/sql/appadb/script.sql
内部母本将是
@@appadb/script.sql