#手順
Heroku CLIをインストール
brew tap heroku/brew && brew install heroku
その後、完了を確認するため
heroku --version
heroku/7.40.0 darwin-x64 node-v12.16.2 #このようにバージョンが表示されていると良い
Herokuにログイン
heroku login --interactive
Heroku上にアプリ作成
heroku create アプリ名
その後、確認のため
git config --list | grep heroku
Heroku上でMySQLを使えるようにする
heroku addons:add cleardb #ClearDBアドオンを追加
その後、ClearDBデータベースのURLを変数heroku_cleardbに格納する
heroku_cleardb=`heroku config:get CLEARDB_DATABASE_URL`
Heroku上で環境変数を設定する
heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
環境変数一覧を表示する
heroku config #RAILS_MASTER_KEYが設定されていれば良い
動作環境を変更する
heroku stack:set heroku-18 -a #Herokuで利用するStackを指定
Herokuへアプリを追加
git push heroku master
その後、Heroku上でマイグレーションファイルを実行
heroku run rails db:migrate
## コマンド一覧
heroku apps:info → 公開されたアプリの詳細をみる
heroku logs --tail --app アプリ名 → ログを表示する
## 補足情報
Herokuでは、定期的に画像のデータなどがリセットされるため、出品から一定時間経過した商品画像は適切に表示されなくなる。適切に表示されなくなった画像のデータを消すためには、下記コマンドを用いてデータベースをリセットすることが必要(最後にS3を導入することで、商品画像が適切に表示されなくなる問題は解消される)。
% heroku run DISABLE_DATABASE_ENVIRONMENT_CHECK=1 rails db:drop db:create db:migrate