인프런 커뮤니티 질문&답변

박호정님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

10-05 상품 삭제 API

product entity의 deletedAt type

해결된 질문

작성

·

177

·

수정됨

0

다음처럼 DeletedDateColumn 데코레이터를 붙인 deletedAt은 db에서 nullable이니까 optional 타입으로 하는 것이 맞을까요?
 @DeleteDateColumn()

deletedAt?: Date;

 

공식 문서에서는 optional 타입으로 되어 있지는 않네요
https://orkhan.gitbook.io/typeorm/docs/decorator-reference#deletedatecolumn

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

제가 알기로는 TypeORM에서 @DeleteDateColumn() 데코레이터를 사용할 때 deletedAt 필드를 optional 타입으로 설정하는 것은 일반적으로는 권장되지 않습니다. deletedAt 필드는 삭제된 데이터를 기록하기 위한 용도로 사용되는 경우가 많으며, deletedAt 필드가 존재하지 않으면 삭제된 데이터인지 여부를 판단하기 어렵습니다.

하지만 필요에 따라 deletedAt 필드를 optional 타입으로 설정하고 싶으시다면, deletedAt 필드를 nullable로 설정하고 optional 타입인 Date | null로 정의하시면 됩니다. 예시 코드는 다음과 같이 작성하실 수 있습니다.

@DeleteDateColumn({ nullable: true })
deletedAt?: Date | null;

다만, 이렇게 설정하는 경우에는 deletedAt 필드가 존재하지 않는 경우에 대한 처리를 추가로 해주셔야 합니다. 이에 주의하시면 됩니다.

더 자세한 내용은 TypeORM 공식 문서의 @DeleteDateColumn 부분을 참고하시면 도움이 될 거예요. 감사합니다.