rake figaro:heroku正在使用sqlite3返回错误

时间:2014-09-11 19:03:18

标签: ruby-on-rails heroku

我正在尝试在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个小时寻找这方面的帮助无济于事,所以如果有人能指出我正确的方向,我将非常感激。

1 个答案:

答案 0 :(得分:1)

你不能在Heroku上使用sqlite3 ..你必须使用Postgres(你可能已经知道了)。

您应该尝试在开发中使用相同的db作为生产以避免不一致,因此在这种情况下,请在每个环境中使用PG。

..但要解决您的问题,请尝试将database.yml生产条目更改为:

production:
  adapter: postgresql
  database: your_app_production
  pool: 5
  timeout: 5000

应该有效