読者です 読者をやめる 読者になる 読者になる

いつの間にか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

結構前からだった。