データベースで日時を保存するカラムの命名ルールを検討する

created_at

データベースで日時を保存するカラムの命名ルールを考える。

調査前、created_atみたいに過去形_at(過去分詞?)がよく使われてる印象だった。少し調べたところ、日時にat, 日にonをつけるのはRailsやLaravelの文化のようだ。

しかし、この命名ルールは以下の点で使いづらいと思っている。

  1. 動詞_atには違和感はないが、名詞_at連語_atに違和感がある
  2. 英語では過去形が不規則変化する動詞が多い

命名ルール候補と検索による調査

「created_at mysql」等でMySQLと共に候補をググり、検索結果の件数順に並べた。

  1. create_time
  2. created_at
  3. create_at
  4. create_datetime
  5. create_dt
  6. 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という命名はすごくマッチする。