我是Go和Buffalo的新手,正在尝试使用数据库中的bash环境变量。yaml
我试图在我的database.yaml中执行以下操作,但它未能解释我的bash环境varlocalUser
的值
user: ${localUser}
我用下面的bash 设置了localUser
export localUser="username"
echo $localUser
用户名
感谢您的帮助!!
Buffalo Pop的配置database.yml
支持以下语法。
production:
host: "localhost"
user: {{ envOr "localUser" "defaultuser" }}
test:
dialect: "mysql"
url: {{ envOr "TEST_DATABASE_URL" "mysql://user:pass@(localhost:3306)/test" }}
关键是envOr
指令。可以想象,如果存在环境变量localUser
的值,则production.user
将被设置为该值,但它将回落到其默认值";defaultuser";如果没有环境变量。
使用此语法,可以动态配置特定于环境的值。
这适用于许多情况,例如可以在多种不同配置中使用的容器映像。您可以分发(或发布(您的应用程序";图像";使用默认值,则可以运行您的";容器";具有实际值的特定环境变量。