データベースで日時を保存するカラムの命名ルールを検討する
created_at
データベースで日時を保存するカラムの命名ルールを考える。
調査前、created_at
みたいに過去形_at
(過去分詞?)がよく使われてる印象だった。少し調べたところ、日時にat
, 日にon
をつけるのはRailsやLaravelの文化のようだ。
しかし、この命名ルールは以下の点で使いづらいと思っている。
動詞_at
には違和感はないが、名詞_at
や連語_at
に違和感がある- 英語では過去形が不規則変化する動詞が多い
命名ルール候補と検索による調査
「created_at mysql」等でMySQLと共に候補をググり、検索結果の件数順に並べた。
- create_time
- created_at
- create_at
- create_datetime
- create_dt
- create_ts
1位159万件、2位106万件でTop2以外は少なかったため、3位以降は無視できそうだ。
次に、DuckDuckGoで地域を日本にせず世界で調べてみた。方法は先ほどあげた候補すべてとmysqlを並べて検索。
結果は1ページ目にcreate_time
が多かった。
create_time
_time
か_at
のどちらかで悩んだ結果、_time
にした。
はじめにあげた_at
の使いづらいと思った点のようなものは_time
にはなさそうだし、また世界的に使われてそうだから。
_time
だからこそよりいいなと思うこともある。
datetime型だとタイムゾーンが不明瞭になるからunixtimeを使うという考えもあり(例えばUnixtimeについて考えてみるを参照)、その時はtime
という命名はすごくマッチする。