どうも、今回は論理削除について調べましたので、まとめておきます。
論理削除とは
結論
データベースのデータに「削除」用のカラムを作っておいて、そこのフラグがtrueになったら、削除したように扱うという方法です。データベースにデータは残っています。
ちなみに論理削除の反対は物理削除で、データベースから完全にデータを削除してしまう方法です。
ちょっと詳しく
論理削除とは、完全には削除しないけど、削除したように扱う方法って感じです。
例えばUserテーブルがあって、あるユーザーを削除したいとします。その時に、Userカラムのひとつにdeleteみたいなカラムを作っておきます。
ちなみにこのUserのdeleteカラムにはデフォルトではfalseとかnullが入るようにしておきます。
その上で、論理削除するとなったら、そのdeleteのカラムの値をfalseからtrueにする、もしくはnullから1と言う値を入れて変更するとかします。
そうしてそのユーザーは削除されたとして扱うようにします。
ただし完全にデータが消えてしまっているわけではありません。データベースにそのユーザーのデータは残ってます。
もしデータがまた欲しいとなったら、フラグを戻してあげればデータ復活できますと言うことですね。
現場では一度取得したデータをデータベース上から完全に削除する物理削除はあまりやらないらしいです。私の職場だけかもれませんが。。。
というわけで、論理削除でした!