db table 관련질문
57
投稿した質問数 8
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의 자동 관리 기능을 최대한 활용하는 것이 개발의 편리함이나 에러 최소화 측면에서 유리할 수 있기에, 이러한 특수한 경우가 아닌 이상 가능하면 프레임워크의 기능을 활용하는 것이 일반적입니다.
아래는 관련 주제에 대한 더 깊이 있는 논의를 찾을 수 있는 링크입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ClusterIP 실습 시 Connection refused
0
12
1
제공된 스크립트를 어디서 받을 수 있나요?
0
17
0
미션 제출 방식 건의
0
17
0
트랜잭션 내 Redis I/O 에 대한 궁금한점
1
20
1
미션 진행 방식에 대한 질문입니다.
0
38
1
파킹 페이지와 대기열 큐 질문입니다.
0
42
1
virtualbox 설치시
1
45
1
Kafka 4.0 zk 코드 제거 가이드 요청
0
41
2
실행중인 컨테이너를 모두 삭제하는 방법(윈도우버전)
0
69
3
winpty docker 설정
0
61
3
vs code설치했는데도, easy docker 파일 열기에서 vs code 아이콘은 안보여요
0
44
1
낙관적락 질문있습니다.
0
44
1
댓글순서부여방식
0
44
1
Int 값들 null 처리
0
51
1
현업에서 prisma relationMode는 사용안하나요?
0
113
1
FK 현업에서 실제 사용안하시나요
0
151
1
dto 관련 질문있습니다.
0
175
2
PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". 에러
0
318
2
Module '"@prisma/client"' has no exported member 'cart'. 에러
0
244
3
모듈 래포지토리 등록에 관한 질문입니다.
0
212
2
timezone 관련 질문
0
351
2
섹션4 -> 5 넘어가는시점 강의 영상이 중간에 빠진건아니신지..?
2
289
2
강의 코드를 확인할 수 있는 깃허브 URL이 있을지 궁금합니다!
2
340
1
섹션3과 섹션4 같은 영상으로 확인됩니다
0
188
1

