nodejs Sequelize의 paranoid 속성
페이지 정보

본문
Sequelize의 paranoid 속성 설명
paranoid 속성은 Sequelize에서 소프트 삭제(Soft Delete) 기능을 활성화하는 옵션입니다.
주요 특징:
- 소프트 삭제: paranoid: true로 설정하면 레코드를 실제로 데이터베이스에서 삭제하지 않고, deletedAt 컬럼에 삭제 시간을 기록합니다.
 - 
자동 컬럼 추가:
- deletedAt 컬럼이 자동으로 추가됩니다
 - 이 컬럼은 레코드가 삭제된 시간을 저장합니다
 
 - 
쿼리 동작:
일반적인 findAll(), findOne() 등의 쿼리는 삭제되지 않은 레코드만 반환합니다 삭제된 레코드도 포함하려면 paranoid: false 옵션을 사용해야 합니다
 
사용 예시:
// 일반 삭제 (paranoid: false인 경우)
await User.destroy({ where: { id: 1 } }); // 실제로 DB에서 삭제
// 소프트 삭제 (paranoid: true인 경우)
await User.destroy({ where: { id: 1 } }); // deletedAt에 현재 시간 기록
// 삭제된 레코드 복구
await User.restore({ where: { id: 1 } }); // deletedAt을 null로 설정
// 삭제된 레코드도 포함하여 조회
await User.findAll({ paranoid: false });
장점:
- 데이터 복구 가능: 실수로 삭제한 데이터를 쉽게 복구할 수 있습니다
 - 감사 추적: 언제 삭제되었는지 추적할 수 있습니다
 - 관계 무결성: 다른 테이블과의 관계를 유지하면서 삭제할 수 있습니다
 
- 이전글xeicon 사용하기 25.10.29
 - 다음글리액트 강좌 링크 정보 25.10.22
 
댓글목록
등록된 댓글이 없습니다.
