我正在使用 Heroku,当我显示配置变量时:
=== someapp-staging Config Vars
DATABASE_URL: xxx
LANG: en_US.UTF-8
NEW_RELIC_LICENSE_KEY: xxx
NEW_RELIC_LOG: stdout
RACK_ENV: staging
RAILS_ENV: staging
SENDGRID_PASSWORD: 123456
SENDGRID_USERNAME: app123456@heroku.com
WEBSOLR_URL: https://index.websolr.com/solr/0e1122334455
sendgrid_password: 654321
sendgrid_username: app654321@heroku.com
websolr_url: https://index.websolr.com/solr/0e1122334455
...有些定义不止一次。
Heroku 的建议是使用大写键设置所有变量。来自https://devcenter.heroku.com/articles/add-ons:
别名必须始终符合与配置变量相同的命名约定。它们必须以字母开头,并且只能包含大写字母数字字符或下划线。
1
那么......figaro heroku:set --remote staging -e staging
例如,当我们执行时,为什么 Figaro 不会自动将键设置为大写?
2
接下来做什么?application.yml
我必须使用混合键设置变量,例如:
staging:
<<: *default
app_name: 'someapp (staging)'
SENDGRID_USERNAME: app123456@heroku.com
SENDGRID_PASSWORD: 123456
WEBSOLR_URL: 'https://index.websolr.com/solr/0e1122334455'
geocoder_api_key: 'azertyuiop123456789'
airbrake_project_id: "987654"
airbrake_project_key: 'a123456z789456123'
谢谢
ps:这些不是我的真实凭据。
更新(来自laserlemon的回答)
https://github.com/laserlemon/figaro/issues/238
您应该将您的 application.yml 写入您的应用程序将使用的确切情况。虽然 Heroku 提出了某种约定,但不能保证每个人都会(或可以)全面一致地使用该约定。因此,Figaro 不会自动大写、小写或其他方式。希望这是有道理的!