【问题标题】:Rails 4.2 not reading Environment Variables for Database.ymlRails 4.2 未读取 Database.yml 的环境变量
【发布时间】:2015-03-29 14:40:04
【问题描述】:

我的 database.yml 文件似乎没有正确选择环境变量。当我直接输入密码时,没有问题,所以我知道这不是密码问题。我也重启了服务器。

另外,当我在服务器上启动 IRB 并输入 ENV["DB_PASSWORD" 时,它会返回:

    2.2.0 :001 > ENV["DB_PASSWORD"]
 => "tej-wir-alt-od-yirf-aj-yam-yis-ed-an-buc"

数据库.yml

production:
  database: myapp
  username: root
  password: <%= ENV["DB_PASSWORD"] %>
  host: localhost
  adapter: mysql2
  port: 3306
  pool: 15
  timeout: 5000

.bashrc

export MYSQL_DB=tej-wir-alt-od-yirf-aj-yam-yis-ed-an-buc

【问题讨论】:

  • 如何为您的应用提供服务(乘客、独角兽等)?根据设置方式,可能不会使用 .bashrc
  • 我正在使用乘客 - .bashrc 似乎正在工作,因为我的 secret_key_base 也有 ENV 变量

标签: ruby-on-rails ubuntu environment-variables ruby-on-rails-4.2


【解决方案1】:

您可以在 .profile 中设置变量,因为它会在您每次重启服务器时加载。

您可以通过以下步骤添加:

打开sudo nano ~/.profile

然后添加变量

export DB_PASSWORD=tej-wir-alt-od-yirf-aj-yam-yis-ed-an-buc

然后重新加载配置文件

. ~/.profile

它会起作用的。

【讨论】:

  • 谢谢!将以下内容从 .bashrc 移动到 .prorfile 对我有用(Rails 4.2,部署到 Digital Ocean 上的 Apache) export RAILS_DATABASE_PASSWORD='mypassword' export SECRET_KEY_BASE=secretkey
  • 与乘客宝石一起使用。
猜你喜欢
  • 1970-01-01
  • 2012-12-29
  • 1970-01-01
  • 2017-09-04
  • 2016-08-25
  • 2019-11-30
  • 2018-07-15
  • 2015-03-28
  • 2015-05-11
相关资源
最近更新 更多