数据库配置不指定适配器
经过24小时试图找到我的应用程序的问题。 我终于找到了问题。
我跑了
rake assets:precompile RAILS_ENV=production
我一直在收到这个错误。
/Users/vezu/.rvm/rubies/ruby-1.9.3-p194/bin/ruby /Users/vezu/.rvm/gems/ruby-1.9.3-p194@global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
database configuration does not specify adapter
Tasks: TOP => environment
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [/Users/vezu/.rvm/rubies/ruby-1.9.3-p194/bi...]
我的database.yml文件看起来像这样
development:
adapter: postgresql
host: localhost
encoding: unicode
database: ndoda_development
pool: 5
username:
password:
test:
adapter: postgresql
encoding: unicode
database: ndoda_test
pool: 5
简单的解决方案是添加一条简单的线到我的application.rb
config.assets.initialize_on_precompile = false
一切正常。
这应该工作:rake资产:预编译RAILS_ENV =开发
它试图加载你的生产环境,当你的database.yml不包含它。
做这个:
development:
adapter: postgresql
host: localhost
encoding: unicode
database: ndoda_development
pool: 5
username:
password:
test:
adapter: postgresql
encoding: unicode
database: ndoda_test
pool: 5
# Add the below...
production:
adapter: postgresql
host: localhost
encoding: unicode
database: ndoda_production
pool: 5
username:
password:
Heroku会用自己的版本覆盖你的database.yml,而不管你放在那里。 但是 ,您在生产环境中运行的rake任务需要一个变量,因此请给它一个虚拟变量。
如上所述,您还可以将'config.assets.initialize_on_precompile = false'添加到production.rb。 如果设置,Heroku要求它被设置为'假'。
链接地址: http://www.djcxy.com/p/79987.html