문제 상황 1

게시글 서비스를 운영 중인 어느 때, 유저가 한 게시글을 신고했습니다.

뒤늦게 확인해보니 이미 글은 이미 지워진 상태라 유저의 말이 사실인지 알 방법이 없을 수 있습니다.

다행히 ‘요즘’ 개발자들은 이런 문제를 해결하기 위해 soft-delete라는 방법을 씁니다.

이 방법은 실제로 데이터를 지우는 대신 삭제한 날짜를 기입하고, 날짜가 있으면 보이지 않게 해두는 방법입니다.

삭제된 데이터 목록을 조회하니 유저가 말한 게시글이 있었고, 다행히 문제를 해결할 수 있었습니다.

그런데…

문제 상황 2

어느 날, 한 유저가 어떤 게시글을 신고했습니다.

이번에도 글이 지워져 있어서, 삭제된 글을 보려고 했는데 이게 웬걸, 글 내용은 아무것도 쓰여있지 않았습니다.

유저가 거짓말을 한 걸까 싶어서 글이 마지막으로 수정된 시간을 봤더니 삭제 전에 무언가 수정이 된 것 같습니다.

아무래도 게시글 작성자는 개발자였던 모양입니다(!!!)

글을 지우기 전에 내용을 띄어쓰기들로 수정하고 갔네요?

데이터베이스는 엑셀처럼 그저 가로, 세로의 행열이 존재하는 테이블이라 수정되면 전 내용을 볼 수 없습니다.

그렇다면 이런 경우에는 도대체 어떻게 해결해야 할까요?

스냅샷 구조 따라 만들기

게시글 ERD

게시글 ERD