いつの間にかActiveRecord::Base.default_timezoneが:localから:utcに変わっていた
今まで、Railsアプリを作るとき、i18nな環境以外ではUTCで動かすことはなくてtime_zone
をTokyoに直して使っていた。
config.time_zone = 'Tokyo'
ただいつの間にか、
config.time_zone = 'Tokyo' # これが必要! config.active_record.default_timezone = :local
も設定しないとAR経由でレコード保存時にUTCでtimestampが付与されてしまう。 いつの頃からやねんと思って、追いかけると、amatsudaさんのこのプルリクからっぽい。
commit a50382cacdfa2e30c882f9f462e982d78e3e8ef5 Merge: c05f3b0 bd60339 Author: José Valim <jose.valim@gmail.com> Date: Sat Jan 21 04:22:59 2012 -0800 Merge pull request #4573 from amatsuda/ar_default_timezone_utc change AR default_timezone to :utc since it's the default for AR::Railtie commit bd603399639fe7dd12e532a89210760fa564440c Author: Akira Matsuda <ronnie@dio.jp> Date: Sat Jan 21 20:07:12 2012 +0900 change AR default_timezone to :utc since it's the default for AR::Railtie
結構前からだった。