我想将变量传递给heroku pg:psql
运行的SQL脚本。
运行不带变量的脚本可以通过以下方式实现:
heroku pg:psql <script.sql
要将变量传递给psql
,我会做psql -v assignment
,但是选项-v
与heroku pg:psql
不兼容。
我也尝试过
heroku pg:psql <(cat <(echo "\set username self") script.sql)
但出现错误:
未知数据库:/ dev / fd / 63。有效选项包括:DATABASE_URL
我该怎么办?
答案 0 :(得分:0)
得到Heroku官方支持的回应。
显然,heroku pg:psql
无法做到这一点。
相反,psql
可以以本机形式读取DATABASE_URL环境变量。
因此,这应该可行:
psql -v username=self `heroku config | grep DATABASE_URL | sed -E 's/\S+\s+//'` < script.sql