我正在尝试在Heroku上设置我的应用程序,据我所知,我遇到的问题是因为尝试运行rake figaro:heroku
每次运行时都会出现以下错误:
rake aborted!
LoadError: cannot load such file -- sqlite3/database
C:/Users/Zac/GitHub/Bitsy/config/application.rb:7:in `<top (required)>'
C:/Users/Zac/GitHub/Bitsy/Rakefile:4:in `<top (required)>'
我的gem文件设置如下:
source 'https://rubygems.org'
ruby '1.9.3'
gem 'rails', '4.0.4'
gem 'sass-rails', '~> 4.0.2'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
gem 'bootstrap-sass', '~> 3.2.0'
gem 'autoprefixer-rails'
gem "paperclip", "~> 3.0"
gem "paperclip-dropbox", ">= 1.1.7"
gem "figaro"
gem 'devise'
group :production do
gem 'pg'
gem 'rails_12factor'
end
group :development, :test do
gem 'sqlite3'
end
group :doc do
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', require: false
end
我的database.yml如下:
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
我以前更改了生产适配器和数据库,它似乎没什么区别。我花了大约5个小时寻找这方面的帮助无济于事,所以如果有人能指出我正确的方向,我将非常感激。
答案 0 :(得分:1)
你不能在Heroku上使用sqlite3 ..你必须使用Postgres(你可能已经知道了)。
您应该尝试在开发中使用相同的db作为生产以避免不一致,因此在这种情况下,请在每个环境中使用PG。
..但要解决您的问题,请尝试将database.yml生产条目更改为:
production:
adapter: postgresql
database: your_app_production
pool: 5
timeout: 5000
应该有效