db table 관련질문
2
작성한 질문수 7
createdAt이랑 updatedAt은
default(now()) 랑 @updatedAt 을 통해 prisma model에서 핸들링이 가능한데 사용하지않고 dto에서 직접 다루는 이유가 궁금합니다
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
Ref님께서 질문하신 createdAt과 updatedAt을 Prisma 모델에서 자동으로 처리하는 대신, DTO에서 직접 다루는 이유에 대해 설명드리겠습니다.
Prisma와 같은 ORM에서는 createdAt과 updatedAt 필드를 자동으로 관리하는 기능이 있습니다. @default(now())는 레코드가 처음 생성될 때 현재 시간을 기본으로 설정하며, @updatedAt은 레코드가 업데이트될 때마다 시간을 자동으로 갱신합니다.
하지만 특정 상황에서는 이러한 자동 갱신 기능 대신, DTO에서 직접 이 필드들을 다룰 필요가 있을 수 있습니다. 몇 가지 가능한 이유는 다음과 같습니다:
비즈니스 로직 구현: 특정 비즈니스 요구사항에 따라
createdAt이나updatedAt의 값이 생성 및 수정 시점과 다를 수 있습니다. 예를 들어, 어떤 데이터는 외부 시스템으로부터 이미 입력된 시간을 받아와야 하는 경우가 있을 수 있습니다.커스터마이징: 데이터베이스 레코드가 생성되거나 수정될 때가 아닌, 특정 조건에서만
updatedAt값을 변경하고자 할 때 직접 설정이 필요할 수 있습니다.배포 고려사항: 때로는 데이터 수정이 자동으로 갱신되지 않기를 원하는 상황이 있을 수 있습니다. 예를 들어, 배포 시점에 데이터 일관성을 유지하기 위해 특정 시간을 고정하려는 경우입니다.
하지만 ORM의 자동 관리 기능을 최대한 활용하는 것이 개발의 편리함이나 에러 최소화 측면에서 유리할 수 있기에, 이러한 특수한 경우가 아닌 이상 가능하면 프레임워크의 기능을 활용하는 것이 일반적입니다.
아래는 관련 주제에 대한 더 깊이 있는 논의를 찾을 수 있는 링크입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
제미나이 api 연결오류
0
16
2
현업에서 prisma relationMode는 사용안하나요?
0
16
1
유튜브 시연 영상 추가 기능 강의 업로드 계획
0
14
1
도커 GUI 툴, 포르테이너 설치
0
21
2
config 밑에 이미 파일 많이 들어가 있는데요.
0
33
3
관리자 페이지 질문
0
21
1
실무 내용 문의드려요
0
28
2
aws 로드 밸런서가 생성되지 않습니다.
0
26
3
민구님 설치시 또 막혀서 질문드려요
0
34
2
git clone 명령어를 어디 터미널에다 붙여넣어야 하나요?
0
36
2
html 파일을 못 불러 옵니다.
0
35
2
twitterdb 연결이 안돼요
1
30
2
Kafka Cluster 구성도 질문
0
24
1
레디스로 재고 관리
0
44
2
전자책으로 구매인증 가능할까요?
0
79
1
FK 현업에서 실제 사용안하시나요
0
107
1
dto 관련 질문있습니다.
0
124
2
PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". 에러
0
269
2
Module '"@prisma/client"' has no exported member 'cart'. 에러
0
192
3
모듈 래포지토리 등록에 관한 질문입니다.
0
173
2
timezone 관련 질문
0
300
2
섹션4 -> 5 넘어가는시점 강의 영상이 중간에 빠진건아니신지..?
2
250
2
강의 코드를 확인할 수 있는 깃허브 URL이 있을지 궁금합니다!
2
311
1
섹션3과 섹션4 같은 영상으로 확인됩니다
0
160
1





