数据库配置不指定适配器

经过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

上一篇: database configuration does not specify adapter

下一篇: Heroku precompile assets failed on Rail 4 app