Uploading to Heroku DB rake:migrate problem

2020-03-30 06:57发布

问题:

having a problem with a heroku upload. Quite new to RoR so please excuse the beginners question.

I'm following the Ruby on Rails Tutorial (http://ruby.railstutorial.org), and after the scaffolding, I type heroku rake db:migrate and get the following error:

rake aborted! Please install the postgresql adapter: gem install activerecord-postgresql-adapter (pg is not part of the bundle. Add it to Gemfile.)

Tasks: TOP => db:migrate => db:load_config (See full trace by running task with --trace)

First time around, no problem, but this time I'm getting this error. Any ideas?

回答1:

By default, a new Rails application is configured to use the SQLite3 database. Heroku doesn't support SQLite3, you must use PostgreSQL.

You have two alternatives:

  1. Keep using SQLite3 in development and test, and switch to PostgreSQL in production.
  2. Switch to PostgreSQL

Either ways, you need to add the pg gem to your Gemfile (assuming you are using Rails 3) and remove sqlite3.

# Gemfile
gem 'pg'

If you want to use Sqlite3 in development and test

# Gemfile
group :development, :test do
  gem 'sqlite3'
end

group :production do
  gem 'pg'
end

You might also need to change your database.yml configuration accordingly.



回答2:

Not quite the answer Simone, but after more digging, the answer finally came up. I needed to do the following:

In the gemfile, I needed to change gem 'sqlite3' to:

group :development, :test do   gem 'sqlite3' end

group :production do   gem 'pg' end

and then I needed to heroku create --stack cedar.

Thanks for your help everyone regardless, and I hope this helps someone in the future.