본문 바로가기

idor2

[스크랩 기능] 스크랩은 HardDelete vs SoftDelete? 배경스크랩한 프로필을 삭제하는 기능을 구현하다가 이런 고민이 생겼다.좋아, scrapId 아이디만 서버로 넘기면 되겠어.근데 잠깐....? 스크랩 데이터는 HardDelete(물리 삭제) 해도 될까?아니면 SoftDelete(논리 삭제)로 남겨야 할까? 이에 대한 나의 결론은' HardDelete로 충분하다.'이다이유는 간단하다.스크랩은 “보관해야만 하는 기록”이라기보다 사용자 개인 편의 기능에 가깝고,삭제된 스크랩을 시스템이 계속 들고 있을 비즈니스 가치가 낮기 때문이다.저는 이렇게 생각합니다1) Hard Delete / Soft Delete 차이Hard Delete (물리 삭제) DB에서 행을 완전히 삭제조회/통계/복구 모두 불가능(백업 없으면)장점데이터가 깔끔해지고 테이블이 커지지 않음쿼리가 단순함.. 2026. 2. 26.
[스크랩 기능] 스크랩 삭제 API 설계 – scrapId만으로 충분할까? 배경스크랩한 프로필을 삭제하는 기능을 구현하다가 이런 고민이 생겼다.삭제할 때 scrapId(PK)만 넘기면 될까?아니면 folderId와 scrapId를 둘 다 넘겨야 할까? 결론부터 말하면:삭제 자체는 scrapId(PK) 하나로 충분하다.하지만 “보안”과 “검증” 관점에서는 추가 고려가 필요하다. 삭제는 PK 하나로 충분하다스크랩 테이블이 아래처럼 되어 있다고 가정해보자.class Scrap(models.Model): folder = models.ForeignKey(ScrapFolder, on_delete=models.CASCADE) profile_num = models.BigIntegerField() profile_owner_user_id = models.CharField(max_.. 2026. 2. 26.
반응형