前回の記事
参考にさせて頂いたページ
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」というリンクがあるのでクリックするとログが見えます。
私の場合はSQLのSELECTを実行するところで「テーブルが無い」というエラーが出ていました。
consoleでmigrateを実行する
さきほどの「More」をクリックすると、「Run console」というリンクがあるのでクリックするとサーバー上でコマンドが実行できます。
rails5なので、bashとプレースホルダーがあるフィールドに、以下のように入力しました。
rails db:migrate
テーブルが作成されて、ページが正常に表示されるようになりました。