2017-02-25 107 views
1

我想從Github部署我的第一個應用程序到Heroku。我按下「部署分支」,並得到消息:Rails應用程序部署到Heroku錯誤

「Your app was successfully deployed」

但是當我打開看,我看到下面的消息,而不是我的應用程序:

「Application error. An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details」

我試過很多事情要解決它,但結果仍然是一樣的,無法找到我做錯了什麼。我如何正確地修復我的部署,並看到我的應用程序在Heroku上運行?

Heroku的生成日誌:

https://gist.github.com/Evanto/4ce2afa5a9e75b7154727356d77737e1

Github的分支我試圖部署到Heroku的:

https://github.com/Evanto/MovieApp/tree/heroku

https://movieapps.herokuapp.com/

+0

您可以接受的正確答案。 –

回答

2

在你的日誌,它說以下:

Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add gem 'pg' to your Gemfile

Heroku僅支持pg作爲選擇的數據庫,因此您需要將以下行添加到您的Gemfile

gem 'pg' 

編輯:

不,你需要不需要任何用戶名或密碼在你的Heroku database.yml文件。在上述文件中寫入以下內容對您來說可以正常工作。

default: &default 
    adapter: postgresql 
    encoding: unicode 
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 

development: 
    <<: *default 
    database: project_name_development 
production: 
    <<: *default 
    database: project_name_production 
test: 
    <<: *default 
    database: project_name_test 
+0

控制檯日誌是:https://gist.github.com/Evanto/a2000f8aa66511f41ab1a777be75814d – Evanto

+1

@Evanto我剛更新了我的答案。 –

+0

如果您在使用另一個數據庫而不是'pg'之前需要更改您的config/database.yml文件,請指定pg設置。再次部署後,運行heroku rake db:migrate –

2

的Gemfile

gem 'pg' 

的config/database.yml的

default: &default 
    adapter: postgresql 
    pool: 5 
    timeout: 5000 
    username : root 
    password : root 
    database: db_name 

development: 
    <<: *default 

test: 
    <<: *default 

production: 
    <<: *default 

在終端:

rake db:migrate 
+1

在終端上運行「heroku logs -t」並檢查日誌下的問題。 – puneet18

+0

謝謝!我應該在哪裏輸入用戶名,密碼和數據庫名稱? – Evanto

+0

data.heroku.com面板中有憑據,但是heroku手冊中提到「不要將數據庫憑據複製並粘貼到單獨的環境或應用程序的代碼中。」 – Evanto