テクノロジー

テーブルの created at にサービスのドメインロジックを持たせない - めもるが

1: mkusaka 2026/09/14 05:54

ActiveRecordのmigrationで付くt.timestampsのcreated_at/updated_atはメタ用途に限定し、whereやsort条件に使わず別カラムで保持すべきだと主張。

2: Ep7TUEiW 2026/09/14 07:55

日付値がロジックを持つ ことは容易ではない。日付値を使うロジックを実装するのは容易だが。おそらく言語上の誤り

3: snowcrush 2026/09/14 08:10

レコードがimmutableであればイベント時刻=created_atと見なしても実運用上そこまで問題は無いと思う。そういう意味では取り扱いが危ないのはupdated_atの方。

4: qtamaki 2026/09/14 08:14

積極的には用いないけど、カラム追加がめんどくさい時に見たりしている

5: turanukimaru 2026/09/14 08:19

例えば「その日の売り上げ」データを created_at で集計すると日付をまたいで営業したときにバグるし、システム障害とかでデータを入れなおすときに特定の日付で入れる必要がある。それよりは別に日付カラムを作るべき。

6: NetPenguin 2026/09/14 09:32

まったく同意なのだけど、最近のインターネット界隈、15〜10年くらい前に議論された事が再燃している印象がある。サロゲートキーの話とか。そのうち削除フラグの話も再燃しそうな気がする。