예매 환불 로직을 짜던 중 예매로 인해 soft delete된 seat를 가져와야함.
soft delete 된 데이터가 데이터가 테이블에는 남아있어 조회가 될 줄 알았으나 find같은 메서드로 검색이 안 된 다는걸 몰랐음
const seats = await this.seatRepository.findOne({
where: { id: seatId },
withDeleted: true,
});
let seatId = deleteReservationDto.seatId;
const seats = await this.seatRepository.findOne({ //'number' 형식은 'boolean' 형식에 할당할 수 없습니다.
select:{id:seatId}
});
사용법을 제대로 모르고 쓰는 줄 알고 공식문서도 보고 전에 했던 예제도 봤음.
결론은 삭제된 데이터를 계속 조회하고 있던 것.
soft delete가 된 데이터는 withDeleted 옵션을 주어야 검색이 가능함
const seats = await this.seatRepository.findOne({
where: { id: seatId },
withDeleted: true,
});
물어보고 검색하자
1. withDeleted
2. restore