正确使用Figaro与Heroku(键大写/小写出现两次)

时间:2016-05-16 11:22:08

标签: ruby-on-rails heroku environment-variables figaro-ruby

我正在使用Heroku,当我显示配置变量时:

testSuite.project.setPropertyValue("BRAND_TYPE","L")
testSuite.project.setPropertyValue("BRAND_CLIENT","LD")

......有些被定义不止一次。

的Heroku'建议是使用大写键设置所有变量。 来自https://devcenter.heroku.com/articles/add-ons

  

别名必须始终符合与配置变量相同的命名约定。它们必须以字母开头,并且只能包含大写的字母数字字符或下划线。

1

所以...当我们执行=== 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 时,为什么费加罗不会自动将键设置为大写?

2

下一步该怎么做? 我必须使用以下混合键在figaro heroku:set --remote staging -e staging中设置变量:

application.yml

谢谢

ps:这些不是我真正的凭据。

更新(来自laserlemon回答)

https://github.com/laserlemon/figaro/issues/238

  

您应该将application.yml写​​入您的确切情况   应用程序将使用。虽然Heroku建议某种惯例,   并不保证每个人都会(或可以)使用该惯例   始终如一。出于这个原因,费加罗赢了   自动upcase,downcase或其他。希望有意义!

1 个答案:

答案 0 :(得分:0)

Heroku的最佳答案:

  

在这种情况下,配置变量的行为是由底层的   Linux操作系统区分大小写。 “在幕后”   配置变量只是管理Unix环境变量的一种方式   在dynos上设置,因此,我们对这些的处理是公平的   最小化以保持它们与任何其他基于Linux的主机一致 - 如果   我们开始自动调整案例你可能会发现情况   它不在本地工作,而在Heroku上工作。