Rails: デプロイ: タイムゾーン: Heroku
外観
目的
タイムゾーンを考慮してRailsアプリをHerokuにデプロイします。
環境
macOS 10.15.5
Ruby 2.7.1
Rails 6.0.3.2
Yarn 1.22.4
Node 13.12.0
Heroku Postgres 12.3
参照
Railsタイムゾーンまとめ - Qiita
How do I set the timezone on my dyno? - Heroku Help
How to change the Timezone setting for Heroku Postgres? - Heroku Help
方針
対象のアプリは日本国内で開発運用するという前提で、タイムゾーンを日本標準時に統一したいと思います。
1. Rubyプロセス
2. config.time_zone
3. config.active_record.default_timezone
4. DBサーバ
手順
2. config.time_zone
3. config.active_record.default_timezone
上記が設定済みの前回作成したアプリをデプロイします。
config/application.rb
module TryDatetimeSelectReiwa
class Application < Rails::Application
# ...
config.time_zone = 'Tokyo'
config.active_record.default_timezone = :local
end
end
bin/rails db:system:change --to=postgresql
bundle
heroku login
heroku create <APP_NAME>
heroku addons:create heroku-postgresql
# 1. Rubyプロセス
heroku config:add TZ=Asia/Tokyo
heroku run bash
date
exit
# 4. DBサーバ
heroku pg:psql
\conninfo
ALTER DATABASE <YOUR_DATABASE_NAME> SET timezone = 'Asia/Tokyo';
\c
SELECT current_timestamp;
\q
git push heroku <BRABCH_NAME>:master
heroku run rake db:migrate
heroku run rake db:seed
heroku open
heroku logs --tail
# heroku apps:destroy
以上です。
この記事が気に入ったらサポートをしてみませんか?