准备资产预编译时,数据库配置未指定适配器

时间:2014-01-21 23:44:45

标签: ruby-on-rails heroku heroku-postgres

我最近将我的测试数据库从sqlite3切换为postgrsql。由于这样做,当我按照此处的说明:https://devcenter.heroku.com/articles/rails-asset-pipeline将资产部署到heroku时,出现以下错误:

database configuration does not specify adapter

运行此步骤后会发生这种情况

RAILS_ENV=production bundle exec rake assets:precompile

我尝试按照这篇文章中的说明操作,但没有用。

bundle exec rake assets:precompile - database configuration does not specify adapter

我猜这与我的database.yml文件有关,就在这里

development:
  adapter: postgresql
  database: playerpong_database
  pool: 5
  timeout: 5000
  encoding: unicode
  host: localhost

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

我明白了。我在我的database.yml文件中添加了一个生产部分。

production:
  adapter: postgresql
  database: playerpong_database
  pool: 5
  timeout: 5000
  encoding: unicode
  host: my_app_url

我认为这不是必需的。

答案 1 :(得分:2)

只需传递本文中提到的虚拟数据库:

https://iprog.com/posting/2013/07/errors-when-precompiling-assets-in-rails-4-0

命令是:bundle exec rake RAILS_ENV = production DATABASE_URL = postgresql:// user:pass@127.0.0.1/dbname assets:precompile

答案 2 :(得分:1)

问题是你正在运行

RAILS_ENV=production bundle exec rake assets:precompile

因为你的文件有开发适配器,所以错误就像缺少适配器一样。 您需要将环境文章更改为开发

RAILS_ENV=development bundle exec rake assets:precompile

或将开发指令更改为生产

production:
  adapter: postgresql
  database: playerpong_database
  pool: 5
  timeout: 5000
  encoding: unicode
  host: localhost