inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Phát triển thực tế NestJS qua dịch vụ thương mại điện tử (với Prisma, Docker, Redis, Kafka)

repository hoàn thành bởi Prisma

db table 관련질문

22

Ref

8 câu hỏi đã được viết

0

createdAt이랑 updatedAt은

default(now()) 랑 @updatedAt 을 통해 prisma model에서 핸들링이 가능한데 사용하지않고 dto에서 직접 다루는 이유가 궁금합니다

docker kafka redis nestjs prisma

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

Ref님께서 질문하신 createdAtupdatedAt을 Prisma 모델에서 자동으로 처리하는 대신, DTO에서 직접 다루는 이유에 대해 설명드리겠습니다.

Prisma와 같은 ORM에서는 createdAtupdatedAt 필드를 자동으로 관리하는 기능이 있습니다. @default(now())는 레코드가 처음 생성될 때 현재 시간을 기본으로 설정하며, @updatedAt은 레코드가 업데이트될 때마다 시간을 자동으로 갱신합니다.

하지만 특정 상황에서는 이러한 자동 갱신 기능 대신, DTO에서 직접 이 필드들을 다룰 필요가 있을 수 있습니다. 몇 가지 가능한 이유는 다음과 같습니다:

  1. 비즈니스 로직 구현: 특정 비즈니스 요구사항에 따라 createdAt이나 updatedAt의 값이 생성 및 수정 시점과 다를 수 있습니다. 예를 들어, 어떤 데이터는 외부 시스템으로부터 이미 입력된 시간을 받아와야 하는 경우가 있을 수 있습니다.

  2. 커스터마이징: 데이터베이스 레코드가 생성되거나 수정될 때가 아닌, 특정 조건에서만 updatedAt 값을 변경하고자 할 때 직접 설정이 필요할 수 있습니다.

  3. 배포 고려사항: 때로는 데이터 수정이 자동으로 갱신되지 않기를 원하는 상황이 있을 수 있습니다. 예를 들어, 배포 시점에 데이터 일관성을 유지하기 위해 특정 시간을 고정하려는 경우입니다.

하지만 ORM의 자동 관리 기능을 최대한 활용하는 것이 개발의 편리함이나 에러 최소화 측면에서 유리할 수 있기에, 이러한 특수한 경우가 아닌 이상 가능하면 프레임워크의 기능을 활용하는 것이 일반적입니다.

아래는 관련 주제에 대한 더 깊이 있는 논의를 찾을 수 있는 링크입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

운영환경에 적용해볼 수 없을때...고민입니다 ㅠㅠ

0

13

1

11강 테스트 툴스 오류

0

25

3

34강 비용절감 부분 질문이 있습니다.

0

20

2

rabbitmq에 configservice 연결에 대해 질문있습니다.

0

24

1

kafka 라이선스 오류 문제

0

22

2

search tool 에러

0

20

2

Int 값들 null 처리

0

22

1

제미나이 api 연결오류

0

32

2

현업에서 prisma relationMode는 사용안하나요?

0

28

1

유튜브 시연 영상 추가 기능 강의 업로드 계획

0

17

1

도커 GUI 툴, 포르테이너 설치

0

25

2

config 밑에 이미 파일 많이 들어가 있는데요.

0

38

3

관리자 페이지 질문

0

23

1

실무 내용 문의드려요

0

28

2

aws 로드 밸런서가 생성되지 않습니다.

0

30

3

FK 현업에서 실제 사용안하시나요

0

111

1

dto 관련 질문있습니다.

0

127

2

PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". 에러

0

271

2

Module '"@prisma/client"' has no exported member 'cart'. 에러

0

194

3

모듈 래포지토리 등록에 관한 질문입니다.

0

174

2

timezone 관련 질문

0

301

2

섹션4 -> 5 넘어가는시점 강의 영상이 중간에 빠진건아니신지..?

2

252

2

강의 코드를 확인할 수 있는 깃허브 URL이 있을지 궁금합니다!

2

314

1

섹션3과 섹션4 같은 영상으로 확인됩니다

0

161

1