Today I learned
오늘은 미니프로젝트의 로그인 인증 기능과 상품 삭제 기능 관리자 로그아웃 기능을 작업했다
상품 삭제를 하는 중 문제가 발생했다
상품 삭제를 하드 삭제로 진행하는 방식으로 작업을 하고 있었는데 주문이 들어간 상태에서 상품을 삭제한다면
주문내역을 확인할 때 문제가 발생한다
그래서 하드 삭제를 소프트 삭제 방식으로 바꿔서 상품 삭제 기능을 구현해야한다
sequelize를 이용해서 소프트 삭제를 만들자
product 모델 파일에 설정을 추가합니다 paranoid 설정을 true로 주어서 deleteAt 컬럼을 사용해 완전히 삭제하지 않고
지운 시각을 기록해서 논리적으로 지우게 만든다
삭제를 진행하면 데이터베이스에서 완전 삭제가 되는게 아니라 deleteAt에 지운 시간이 들어가면서 지운걸로 인식해서
제외하고 상품 리스트를 가져온다 주문내역처럼 삭제가 되어도 필요하다면 paranoid: false 옵션을 주어서 삭제된 레코드를 검색할 수 있다
'과거공부모음' 카테고리의 다른 글
나의 개발일지 TIL(Today I learned) - 트랜잭션, 동시성 제어 (0) | 2023.02.17 |
---|---|
나의 개발일지 20220213 TIL(Today I learned) - NestJS, Token 응답 (0) | 2023.02.13 |
나의 개발일지 20220203 TIL(Today I learned) - 미니프로젝트 (0) | 2023.02.03 |
나의 개발일지 20220202 TIL(Today I learned) - Promise (0) | 2023.02.02 |
나의 개발일지 20220201 TIL(Today I learned) - 미니프로젝트 (0) | 2023.02.01 |