今回はRails6からtimestampsにデフォルトで追加されるようになったオプション、precisionオプションについて簡単にまとめたので紹介したいと思います。細かくデータを保管したい、日時データの精度を高めたいといった場合はprecisionオプションの付与はマストにした方が良さそうです。この記事の内容precisionオプションとはRails6以前とRails6のtimestampsprecisionオプションのメリット・デメリットprecisonオプションはどこで使用するべきかまとめ参考precisionオプションとはprecisionオプションとは、小数点第何位まで計測するかどうかを設定するオプションです。6は小数点第6位まで計測してくれることになります。6の場合は小数点第6位(.267794)まで取得していることが分かります。その一方でprecisionオプション未定義の場合は、小数点以下を取得していません。+09:00Rails6以前とRails6のtimestampsRails6以前とRails6のtimestamps(created_atとupdated_at)について見比べてみます。6が付与されていることが分かると思います。6が付与されるようになりました。falseendprecisionオプションのメリット・デメリットprecisionオプションのメリットは、カラム検索の精度が上がることになります。datetimeカラムで条件分岐をするため、以下のような記述をしたと仮定します。patient.created_atが23:59:59を数秒過ぎていた場合(23:59:59.9999など)、precisionオプションを設定していないと検索条件に引っかかってくれません。一方でprecisionオプションを設定すると小数点以下まで検索してくれるため、検索条件に引っかかります。'NG'endprecisionオプションのデメリットを挙げるとするならば、それは1レコードあたりのバイト数が増えることになります。このバイト数の増加は大した数ではないため、あまり気にする必要はないかと思います。6を付与するべきです。timestampsにデフォルトで付与されているためそれに合わせるという理由もありますが、カラム精度を高めるという観点で付与はマストにしたほうが良さそうです。datetime型に関わらず小数点まで保存した方が良いデータについてはprecisionオプションを付与しましょう。precision編)今回はRails6からtimestampsにデフォルトで追加されるようになったオプション、precisionオプションについてまとめました。Railsがアップグレードされる度に便利な機能が追加されており、今後の新しい機能にも注目です。yoshi19941117TechTechMedia【RSpec】コードの重複を回避することができるit_behaves_l...【RSpec】ActionDispatch::Http::Paramet...Railsエンジニアちばよしはる銀座にあるヘルステック企業のRailsエンジニア。初心者から中級者向けに記事を更新しています。お酒とカレーと競馬が好き。TechTechMedia。