1
votes

I've got a Rails app which currently uses sqlite in development and postgresql in production on Heroku. However, I'm trying to change this so that I use postgresql in development.

My Gemfile currently looks like this:

source 'https://rubygems.org'

gem 'rails',                '4.2.2'
gem 'bcrypt',               '3.1.7'
gem 'bootstrap-sass',       '3.2.0.0'
gem 'sass-rails',           '5.0.2'
gem 'uglifier',             '2.5.3'
gem 'coffee-rails',         '4.1.0'
gem 'jquery-rails',         '4.0.3'
gem 'jquery-ui-rails', '~> 4.2.1'
gem 'turbolinks',           '2.3.0'
gem 'jquery-turbolinks'
gem 'jbuilder',             '2.2.3'
gem 'sdoc',                 '0.4.0', group: :doc
gem 'chart-js-rails'
gem 'gon'
gem 'lodash-rails'

group :development, :test do
  #gem 'sqlite3',     '1.3.9'
  gem 'pg',             '0.17.1'
  gem 'byebug',      '3.4.0'
  gem 'web-console', '2.0.0.beta3'
  gem 'spring',      '1.1.3'
end

group :production do
  gem 'pg',             '0.17.1'
  gem 'rails_12factor', '0.0.2'
  gem 'puma',           '3.1.0'
end

So in the development group I've replaced the 'sqlite3' gem with the 'pg' gem.

I've modified the database.yml to look something like this:

default: &default
  adapter: postgresql
  host: localhost
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: abc_development
  username: abc
  password: password1

test:
  <<: *default
  database: abc_test
  username: abc
  password: password1

production:
  <<: *default
  database: abc_production
  username: abc
  password: password1

I've executed bundle install --without production however, when I try bundle exec rake db:create db:migrate I receive the following error:

Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
1

1 Answers

2
votes

As far I see Rails is right: you specified the pg gem only in group production, but you said you want to use it also in development.

So just move it from the production group to the beginning of your Gemfile