LoginSignup
8
8

More than 5 years have passed since last update.

Railsのcreated_at、updated_atはアプリサーバーの時刻が使われる

Last updated at Posted at 2016-02-20

Railsのcreated_at、updated_atに保存される日時は、アプリサーバーの日時なのか、DBが乗っかってるサーバーの時刻なのか分からなかったのでコードを見た。

不具合が発生したときに、created_atやupdated_atに保存される日時情報は、サーバー依存なのかDB依存なのかはっきりと断言出来ずと困った。
(例えばDBが乗ってるサーバーの時刻は定期的に同期をしてるけど、アプリサーバーの時刻は定期的に同期してなかったりとか)

結論

アプリが動作してる、サーバーの環境変数またはシステムに設定されているタイムゾーンでの日時が設定される。
Timeクラス使用、参考:http://qiita.com/jnchito/items/cae89ee43c30f5d6fa2c

根拠:SourceCode

実装は3.2と4.2.5と5.0βで同じだった。
https://github.com/rails/rails/blob/v5.0.0.beta2/activerecord/lib/active_record/timestamp.rb#L121

☝︎たぶんこれ。
違うときは教えてください。

参考

以下サイト様に書いてあったとおりだった。(ただ書かれた日時が8年位前とか古すぎるので不安だった)
http://d.hatena.ne.jp/zariganitosh/20081225/1230147759

8
8
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8