[리팩토링] 장바구니 기능의 경우 SOFT DELETE 와 HARD DELETE 중에 뭘 사용해야할까?

SOFT DELETE ?? HARD DELETE??

  1. 정의
    1. soft delete
      • 데이터를 실제로 삭제하지 않고,
      • 삭제된 것 처럼 표시하는 방법
    1. hard delete
      • 데이터를 DB에서 영구적으로 제거하는 방법

장바구니의 특성

  • 사실 장바구니를 다시 복구할 일이 없다면 hard delete 를 수행해도 문제가 없을 것 같다
  • 하지만,! 혹여나 시스템상에서 사용자의 삭제 의도와 장바구니 ↔ 주문 로직간의 문제가 발생하는 경우
    • 사용자의 의도 파악
    • 쉬운 디버깅

    을 위해 SOFT DELETE 를 수행하는 것이 어떨까 생각도 해보았다.

  • 삭제하는 경우 DELETED_DATE 컬럼이 처음에는 비어있다가, 날짜가 기입되는 경우 삭제된 걸로 데이터만 들고오게 하는 것이다.

    솔직히 굳이굳이 싶기도한데.. 혹시나 모르는 것 아닌가 일단 SOFT_DELETE 로 노선을 선택함.


Uploaded by N2T