Ошибка приложения Rails Heroku - PullRequest
0 голосов
/ 16 января 2012

Я пытаюсь перенести приложение rails на heroku, но обнаружил следующую ошибку

Application Error

An error occurred in the application and your page could not be served. Please try again in a few moments.

If you are the application owner, check your logs for details.

Потому что я использую sqlite3
Поиск в Интернете показывает, что я должен сделать следующее

heroku rake db:create
heroku rake db:migrate

Грабли Героев ДБ: создать не удалось, пожаловавшись

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

Команда gem install activerecord-postgresql-adapter не выполнена и жалуется

ERROR:  Could not find a valid gem 'activerecord-postgresql-adapter' (>= 0) in any repository
ERROR:  Possible alternatives: activerecord-postgis-adapter, activerecord-jdbcpostgresql-adapter, activerecord-postgresql-cursors, activerecord-jdbcmysql-adapter, activerecord-jdbcmssql-adapter

Затем я снова искал в Интернете и следовал предложению http://devcenter.heroku.com/articles/how-do-i-use-sqlite3-for-development изменить

gem 'sqlite3'

до

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

и запустить

bundle install --without production

однако это не решило проблему другой источник говорит, что мне нужно сделать, как

group :production do
   gem 'therubyracer-heroku', '0.8.1.pre3'
   gem "pg"
end

Это также не помогло решить проблему

В моей системе установлен postresql. Так в чем же проблема?

Ответы [ 2 ]

2 голосов
/ 16 января 2012

Ключевым моментом здесь является то, что гем pg необходим для работы с базой данных Postgres, которую вы в конечном итоге используете при развертывании на heroku (http://devcenter.heroku.com/articles/database)

В идеале вы хотите запускать Postgres локально, чтобывы не видите никаких различий между разработкой и производством с точки зрения базы данных.

Если вы хотите придерживаться того, что у вас есть, просто добавьте gem "pg" в ваш Gemfile, это должно исправить.

После добавления выполните:

bundle install
git add .
git commit -am "Added PG to Gemfile"
git push heroku master
heroku rake db:migrate
0 голосов
/ 21 марта 2016
Выполните следующие шаги для развертывания на сервере heroku

Сначала удалите gem = 'sqlite3' из Gemfile и добавьте gem = 'pg'

Запустите эту команду в пути к проекту: bundle install

git add.

git commit -am "добавить pg в файл gem"

git push herokuмастер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...