物理削除モデルと論理削除モデル

物理削除モデルと論理削除モデル

Laravelを勉強している過程で遭遇したワード。DBにあるデータを論理削除モデルを使って削除した。

物理削除モデル

DBにあるデータを削除したいとき、普通(?)はこっちの削除を行う。

名前通り、データを物理的に削除する。

削除したデータはDBからも削除されているため、完全に削除されて復元することができない。

論理削除モデル

こっちはデータを「論理的」に削除する。

DBに削除フラグを設けて、そのデータを削除するときはフラグをtrueにする。削除フラグがfalseのデータのみ返せば、一見するとデータが削除されたように見える。

感想

「なるほどな」と思った。

データを完全に削除しないから、データを復元できる = 間違えて削除しても大丈夫!みたいな感じです。

でもデータが増える一方で容量を食いそうだから少し心配だけど、そもそもデータを削除する機会って少なそうだからあまり心配しなくても良さそうだなとも思う。

あと「論理削除モデル」で調べたら、検索結果がLaravelだらけだった。もしかしたらLaravelでは特徴的なDBの設計方法なのかもしれない。