我在Apache上运行Rails应用程序,乘客处于生产模式。
使用SetEnv
指令设置应用程序的数据库密码并正常工作。 database.yml
中的条目是:
production:
<<: *default
database: app_production
username: app_dbuser
password: <%= ENV['APP_DBPASSWORD'] %>
我想运行rails console进行生产,所以我在当前的shell中设置了上面这样的变量:
export APP_DBPASSWORD="secret"
然后我启动控制台并试图访问任何记录,但它给出了错误:
$ bin/rails c production
Running via Spring preloader in process 8813
Loading production environment (Rails 5.0.2)
irb(main):001:0> Client.first
Mysql2::Error: Access denied for user 'app_dbuser'@'localhost' (using password: NO)
但是,在控制台ENV['APP_DBPASSWORD']
中返回正确的值,请建议。
答案 0 :(得分:2)
正如DNNX指出的那样,禁用Spring对我有用:
$ DISABLE_SPRING=1 bin/rails c production