Ошибка приложения Rails Heroku
Я пытаюсь протолкнуть мое приложение 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 ответа
Ключевым моментом здесь является то, что pg
gem требуется для работы с базой данных 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
Сначала удалите gem ='sqlite3' из Gemfile и добавьте gem = 'pg'
Запустите эту команду на пути проекта: установка пакета
мерзавец добавить.
git commit -am "добавить pg в файл gem"
гит пуш герой мастер