質問: 今 Laravel で画像掲示板を作成してるのですが、記事の削除に関してわからないことがあり質問させていただきました。 現在作成中のサイトでは、ユーザーによって投稿された記事をユーザー自身が削除するとき、サーバー容量やセキュリティのことなどを考えて、データベースのデータも画像ファイルも全部削除するように設定してました。(そうすると復元不可になるので、あとで「間違えた、元に戻して」と言われても困ってしまうのですが...) しかし最近とある学習サイトのレッスンを受けている中で、 「削除する時は、データベースからいきなり削除するのではなくて、削除フラグというものを立てて、それで削除したかどうかを管理するのが一般的」と習い、投稿データのレコードは残して、status フィールドで、削除したものは delete 、そうでないものは active と切り替える形で管理されていました。 ※ちなみにこちらはお問い合わせフォームの話になります。 削除フラグについて調べましたところ以下のメリットがあることが分かりました。 * 誤って削除された場合の復旧が簡単 * 削除データ一覧というページが作れる。そこから削除取り消し操作も可能 * DELETE より UPDATE のほうが処理が早い など 復旧できるのは大きなメリットですが、サーバー容量やセキュリティのことを考えるとデメリットの方が大きい気がしまして、画像・データを残すべきかどうか迷っております。 経験者の皆様は画像投稿掲示板を作成される場合、どのような形で管理されていることが多いのでしょうか。 アドバイスいただけますと助かります。 【開発環境】 ・vagrant(テスト用) ・さくらレンタルサーバー(本番用) ・Laravel 5.8 ・php 7.3 よろしくお願いいたします。
回答: > > 復旧できるのは大きなメリットですが、サーバー容量やセキュリティのことを考えるとデメリットの方が大きい気がしまして、画像・データを残すべきかどうか迷っております。 > > > 要件次第です。 クライアントの要望によるのではないでしょうか 画像投稿掲示板であれば、問い合わせを受けて、戻してなどめんどくさそうなのでできませんで断ってしまっていいと思います なお、LaravelにはSoftDeleteという機能があり、statusなど用意しなくても論理削除が可能です。