我最近将我的测试数据库从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
有什么想法吗?
答案 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