prisma 설정하고 미들웨어 사용해보기 강의 관련 질문들
762
投稿した質問数 53
질문1
prisma 설정하고 미들웨어 사용해보기까지의 schema.prisma 코드가 있으신가요?
질문2
그리고 prisma.push 하면 schema.prisma 에 모델로 설정되어 있는 것들만 스키마의 테이블로 등록 되는건가요? 혹시 없는 테이블들이 pgadmin 에서 미리 만들어져 있을 경우 어떻게 되나요?
prisma.push 만 사용하면 장고처럼 migrations migrate 따로 관리 안해도 되나요?
질문3
프리즈마 서비스 생성자 함수에 다음과 같이 설정하면 프리즈마 쿼리와 에러 정보를 확인 할수 있다 그렇게 생각하면 되나요? 그리고 그게 미들웨어 방식으로 설정하는 거죠?
질문4
아래 코드에서 params 는 백엔드에서 orm 으로 넘기는 파라미터 정보 next 는 디비로부터 오는 정보가 맞나요? 그리고 이 미들웨어는 자동으로 실행되는건가요? return 값은 어디로 가나요?
回答 1
0
안녕하세요. 현석님 열심히 제 강의를 들어주시는 것 같아서 감사드립니다. :)
질문1) prisma 설정하고 미들웨어 사용해보기까지의 schema.prisma 코드가 있으신가요?
질문2)
그리고 prisma.push 하면 schema.prisma 에 모델로 설정되어 있는 것들만 스키마의 테이블로 등록 되는건가요?
-> 넵 맞습니다. prisma가 schema.prisma를 해석하여 ALTER(테이블을 변경하는 SQL 명령어)로 테이블 정보들을 생성해 DB에 집어넣습니다.
혹시 없는 테이블들이 pgadmin 에서 미리 만들어져 있을 경우 어떻게 되나요?
-> 테이블들을 pgadmin을 통해 만들어 놓고 push 하면 당연하게도 기존 정보들은 모두 날라갑니다.
이럴 경우는 pull 을 통하여 먼저 pgadmin에 있는 테이블들의 정보를 받고
수정 후 push 를 하면 기존 테이블들을 유지할 수 있습니다.
prisma.push 만 사용하면 장고처럼 migrations migrate 따로 관리 안해도 되나요?
-> 일단 nosql 은 migrate 가 없고 무조건 push 를 해야합니다.
postgresql 같은 경우는 migrate를 통하여 버전관리를 하면서 , db 명령어를 통하여 그냥 정보를 주입할지 둘 중 선택을 해야합니다.
질문3
프리즈마 서비스 생성자 함수에 다음과 같이 설정하면 프리즈마 쿼리와 에러 정보를 확인 할수 있다 그렇게 생각하면 되나요?
-> 맞습니다. 사진의 super() 은 PrismaClient 의 생성자이며 여기에는 백엔드에 있는 client(ORM)에 대한 간단한 설정들이 있습니다.
그리고 그게 미들웨어 방식으로 설정하는 거죠?
-> 제가 질문을 살짝 이해를 못했는데요. 말해보자면 $use() 부분은 super()부분(..그저 설정일 뿐)과 별개로 미들웨어(express 에서 중요한 개념인 그 것과 동일합니다.) 입니다.
next() 로 프리즈마 엔진에 쿼리들을 넣기 전에 여러 작업(시간 측정, 들어가면 안되는 테이블일 경우 제한, 보안의 목적, 어떤 쿼리가 많이 발생하는지 통계 등)에 사용될 수 있습니다.
수업에서도 설명했지만, prisma client -> prisma engine -> db -> prisma engine -> prisma client 과정을 통해 쿼리들이 왔다리 갔다리 하며 next() 함수 전부분, 후부분이 각각 -> 인 부분입니다 ^^
질문4
아래 코드에서 params 는 백엔드에서 orm 으로 넘기는 파라미터 정보 next 는 디비로부터 오는 정보가 맞나요?
-> 네 맞습니다. prisma client -> prisma engine -> db -> prisma engine -> prisma client 에서
next() = prisma engine -> db -> prisma engine 부분이며 db 에서 들어갔다 나온정보를 넘겨줍니다.
그리고 이 미들웨어는 자동으로 실행되는건가요? return 값은 어디로 가나요?
-> 미들웨어는 쿼리들을 백엔드에서 실행시킬 때 마다 자동 실행됩니다. (this.prisma 로 실행하는 것들..)
return 값은 db 에서 나온 결과 값들을 전달해주며 return 을 안쓰면 백날 쿼리를 써봐도 아무것도 결과가 안나옵니다.
node.js 설치 관련 질문 드립니다
0
22
1
Cursor 설정
0
26
1
cascade 질문
0
39
1
@types/bcrypt 설치과정이 누락된것같습니다.
0
48
1
그대로 한 것 같은데 에러가 발생합니다..
0
49
2
process.env port key 에러
0
46
1
'레벨 유지'의 의미에 대한 질문
0
53
2
어렵네요
0
19
1
추상화
0
50
1
평균값 구하기
0
54
2
next.js 프로젝트 생성 수업노트보기 에러
0
40
1
질문 드립니다!
0
72
1
프론트 API 작업
1
77
2
그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?
0
83
2
date_part
0
55
2
prisma timezone에 관한 질문이 있습니다.
0
3336
1
create( ) - User 를 만들기 수업 관련
0
412
1
pgadmin 관련 질문이 있습니다
0
361
1
모듈 관련 에러 해결 방법 입니다 ex)Cannot find module '@nestjs/core'
0
5162
1
2023년 버전이 추가되어도 강의 순서에는 변함이 없는지 궁금합니다!
0
342
1
nestjs caching 관련 docs 도 조금 달라진것 같아요
0
368
1
prisma - nestjs 연결 서비스 코드가 달라진거 같아요
0
424
2
설정이 잘 안 되는데, 전체 소스코드 한 번 알려주실 수 있을까요?
0
280
2
혹시 Like 테이블 정의하는 부분을 영상 초반에 넣어주실 수 있나요?
0
196
1

