230303_TIL

reggias·2023년 3월 7일
0

I learned

목록 보기
53/62

프로젝트 중에 회원삭제 기능을 만들다가 논리삭제(soft delete) 개념을 알게 되어 사용하다가 겪은 어려움 정리

  1. soft delete를 하기 위한 방법은 두 가지가 있었는데 하나는 데이터 삭제여부를 저장해놓는 칼럼을 따로 만들어 구분하는 방식이고 하나는 sequelize에서 제공하는 paranoid 라는 옵션을 추가했을 때 createdAt, updatedAt 과 같이 자동적으로 생성되는 deletedAt 칼럼을 이용하는 것임.
    공식문서 : Paranoid | Sequelize

    시퀄라이즈를 처음 생성할 때 고려했다면 옵션으로 timestamps, paranoid 만 넣어주면 되었겠지만 우리팀은 중간에 끼워줘야하는 상황이었기 때문에 add column으로 넣었음
  • migrations 폴더
  • 당연하지만 명령어로 만들어야함.
  • allowNull이 false인데 true이면 더 좋은것같음.
  • models 폴더 안의 user.js 파일
  • 마이그레이션 후 파일에 코드 추가만 해주면 바로 사용가능함.
  • options 넣는 곳을 잘못 이해해서 한참 고생했음
  • delete 메서드로 삭제 후 find 하면 해당 row는 제외되고 검색이 됨!
profile
sparkle

0개의 댓글