flyway执行sql遇到变量执行报错解决

前两天在公司使用flyway工具执行sql时,开发写的sql里面有变量,于是这个flyway工具不识别这个变量直接报错,不接着往下执行了。报错信息如下:
flyway工具执行sql报错 information: No value provided for placeholder: ${ep1}
在这里插入图片描述
于是在网上查一些相关的问题,找到了一篇文章,添加一个参数就可以正常执行sql了。

配置文件
flyway/conf/flyway.conf
添加参数
flyway.placeholderReplacement=false

#重新执行就正常了

### Flyway 配置参数说明及用法 Flyway 提供多种方式来设置配置参数,包括但不限于命令行参数、环境变量以及 `flyway.conf` 文件。当环境变量被正确配置之后,Flyway 能够自动识别并应用这些变量而不需要额外编辑 `flyway.conf` 文件[^1]。 #### 基本配置项解释 - **url**: 数据库连接字符串,用于指定目标数据库的位置。 - **user**: 连接至数据库所需的用户名。 - **password**: 对应用户的密码。 - **locations**: SQL迁移脚本所在的路径,默认情况下位于类路径下的 `db/migration` 目录下。 - **placeholders**: 可以定义占位符,在SQL文件中使用 `${placeholder}` 的形式调用,并由实际值替换。 对于某些特定场景,还可以利用如下高级选项: - **baselineOnMigrate**: 当启用此功能时,如果检测到已有数据存在,则会创建基线版本表而不执行任何更改操作;这对于首次运行于已存在的旧版数据库上非常有用。 - **target**: 设定要迁移到的具体版本号或者标签名,允许回滚或跳过部分更新过程。 - **validateOnMigrate**: 控制是否应该在每次迁移前验证所有先前的应用程序变更记录的一致性和顺序性[^2]。 ```bash flyway -url=jdbc:mysql://localhost:3306/mydb \ -user=myuser \ -password=mypassword \ migrate ``` 上述示例展示了如何通过命令行传递必要的连接信息给 Flyway 工具来进行一次完整的迁移流程。 #### 解决常见错误提示 有时即使按照文档指导完成了全部安装步骤,在初次尝试启动应用程序时仍可能出现异常情况。针对这种情况,建议仔细检查日志输出中的具体报错原因,并参照官方指南或其他社区资源寻找解决方案[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值