Motomichi Works Blog

その日学習したことについて書いている日記です。誰かの役に立ったらそれはそれで嬉しいです。

Herokuその0002 Windows10でHerokuにrails アプリケーションをデプロイする

前回の記事

参考にさせて頂いたページ

sqlのgemについて

Herokuのログ確認方法について

今日の環境

  • Windows10 Home
  • Heroku CLI 6.14.36

production環境ではpgを使うようにGemfile.lockを変更する

sqlite3をdevelopment環境で使用しており、herokuではpostgresqlを使う必要があるようなのでGemfileを以下のように編集しました。
他にも使い分けたいgemがあれば記述します。

sqlite3をdevelopmentとtestで使用する設定にします。

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

production環境ではpgを使用する設定にします。
pgはpostgresqlらしいです。

group :production do
  gem 'pg', '0.20.0'
end

Gemfileを変更したらbundleインストールしますが、localhostの開発環境で以下のコマンドを実行しておきます。

bundle install --without production

Gemfile.lockが更新されます。

Herokuにデプロイする

以下のコマンドでデプロイしました。

git push heroku master

前回の記事と比べるとrailsアプリケーションは時間がかかっています。

デプロイは成功したようですが、ページは上手く表示されず以下のように表示されてしまいました。

We're sorry, but something went wrong.

If you are the application owner check the logs for more information.

Herokuサーバーのログを見る

pushしたコマンドプロンプトから、以下のコマンドを実行するとログが確認できます。

heroku logs -t

または、webブラウザでHerokuにログインして、アプリケーションを選択して、右上の「More」をクリックすると、「View logs」というリンクがあるのでクリックするとログが見えます。

f:id:motomichi_works:20171028021030p:plain

私の場合はSQLのSELECTを実行するところで「テーブルが無い」というエラーが出ていました。

consoleでmigrateを実行する

さきほどの「More」をクリックすると、「Run console」というリンクがあるのでクリックするとサーバー上でコマンドが実行できます。

f:id:motomichi_works:20171028021833p:plain

rails5なので、bashプレースホルダーがあるフィールドに、以下のように入力しました。

rails db:migrate

テーブルが作成されて、ページが正常に表示されるようになりました。