2015/3/26
なんとかフラグと履歴データについての雑な考え方
お仕事でも丁度タイムリーな話題だったので、「何とかフラグが欲しい」と言われたときに自分が考えていることをまとめておきます。
私のポジションとしては「DB設計をちゃんとやろうと思っているものの現実に流されてしまうゆるふわRailsエンジニア」あたりです。
Q. 変更される回数はどれくらいか
- 一方通行で一回だけ
Q. 付随する状況があるか(e.g. 退会理由)
- ある -> イベントテーブル作成
- ない -> 時刻カラム追加
- 何回もトグルする
Q. 付随する情報があるか
- ある -> イベントテーブル作成
- ない
Q. 変更される時刻に意味があるか
- ある
Q. DB上である時点の状態を再現できる必要があるか
- ある -> イベントテーブル作成
- ない -> ログでがんばる
- ない -> booleanカラム追加
このあたりの要件をヒアリングするなり決めてしまうなりして、妥当なところに落しています。
一番しんどいのが「何回もトグルする上に特定の時点をDB上で再現させないといけないケース」なんですが、幸いにもこのケースにはあまり出会ったことがないのはゆるふわだからですかね。
created_at: 2015-08-06 01:43:33 +0900
updated_at: 2015-08-06 01:43:33 +0900