データの削除機能において、何らかの理由でデータは残しておきたい場合には「削除フラグ」が使われがちだが、これは絶対にやめたい。 この場合は「削除テーブル」を用意してそちらにデータを移し、元テーブルからはレコード削除を行うようにするべきだと思っている。 それについて書く。 削除フラグを使うと事故りやすい シチュエーション:販売終了商品が削除フラグ=1でテーブルに残っている 例えばある商品が販売されていたが、今は販売されていない商品が以下のようなテーブルとレコードで表現されているとする。 id 商品名 価格 削除フラグ 1 ガム 100 1 2 キャンディ 120 0 id: 1のガムは今はもう販売されていないので削除フラグが1(true)になっている。 しかし、商品購入履歴などで必要なのでデータはそのまま残っている。 商品テーブルに削除商品があることを常に意識してないとすぐ事故る 「取り扱い商