프리즈마란 무엇인가요?
Prisma ORM은 다음 도구로 구성된 차세대 ORM 입니다.
- Prisma Client : Node.js 및 TypeScript를 위한 자동 생성 및 유형 안전 쿼리 빌더
- Prisma Migrate : 선언적 데이터 모델링 및 마이그레이션 시스템
- Prisma Studio : 데이터베이스의 데이터를 보고 편집할 수 있는 GUI
Prisma Client는 모든 Node.js 또는 TypeScript 백엔드 애플리케이션(서버리스 애플리케이션 및 마이크로서비스 포함)에서 사용할 수 있습니다. REST API , GraphQL API , gRPC API 등 데이터베이스가 필요한 모든 애플리케이션에 사용할 수 있습니다.
Prisma ORM과 함께 사용할 데이터베이스가 필요하다면 Prisma Postgres를 확인해보세요.
시작하기
빠른 시작(5분)
Prisma를 시작하는 가장 빠른 방법은 빠른 시작 가이드를 따르는 것입니다. 다음 두 가지 데이터베이스 중 하나를 선택할 수 있습니다.
자체 데이터베이스를 가져오세요
이미 자체 데이터베이스가 있는 경우 다음 가이드를 따르세요.
Prisma ORM 작동 방식
이 섹션에서는 Prisma ORM의 작동 방식과 가장 중요한 기술 구성 요소에 대한 간략한 개요를 제공합니다. 더 자세한 소개는 Prisma 설명서를 참조하세요.
프리즈마 스키마
Prisma 툴킷의 도구를 사용하는 모든 프로젝트는 Prisma 스키마 파일 로 시작합니다. Prisma 스키마를 통해 개발자는 직관적인 데이터 모델링 언어로 애플리케이션 모델을 정의할 수 있습니다. 또한 데이터베이스 연결과 생성기 정의 기능도 포함합니다.
지엑스피1
이 스키마에서는 세 가지를 구성합니다.
- 데이터 소스 : 환경 변수를 통해 데이터베이스 연결을 지정합니다.
- 생성기 : Prisma Client를 생성하고자 함을 나타냅니다.
- 데이터 모델 : 애플리케이션 모델을 정의합니다.
Prisma 데이터 모델
이 페이지에서는 데이터 모델에 중점을 둡니다. 데이터 소스 와 생성기 에 대한 자세한 내용은 해당 문서 페이지에서 확인할 수 있습니다.
Prisma 모델의 기능
데이터 모델은 여러 모델 의 집합입니다. 모델은 두 가지 주요 기능을 갖습니다.
- 기본 데이터베이스의 테이블을 나타냅니다.
- Prisma Client API의 쿼리에 대한 기반을 제공합니다.
데이터 모델 가져오기
Prisma 스키마에 데이터 모델을 "가져오기" 위한 두 가지 주요 워크플로는 다음과 같습니다.
- 데이터베이스를 내성 하여 데이터 모델 생성
- Prisma Migrate를 사용하여 데이터 모델을 수동으로 작성하고 데이터베이스에 매핑합니다.
데이터 모델이 정의되면 Prisma Client를 생성하여 정의된 모델에 대한 CRUD 및 추가 쿼리를 제공할 수 있습니다. TypeScript를 사용하는 경우 모든 쿼리에 대해 완전한 타입 안전성을 확보할 수 있습니다(모델 필드의 하위 집합만 검색하는 경우에도).
Prisma Client를 사용하여 데이터베이스에 액세스하기
Prisma 클라이언트 생성
Prisma Client를 사용할 때 첫 번째 단계는 npm 패키지를 설치하는 것입니다.
이 패키지를 설치하면 prisma generate
명령이 실행되어 Prisma 스키마를 읽고 Prisma 클라이언트 코드를 생성합니다 . 이 코드는 node_modules/@prisma/client/index.d.ts
를 통해 내보내진 node_modules/.prisma/client
에 저장됩니다.
데이터 모델을 변경한 후에는 node_modules/.prisma/client
내부의 코드가 업데이트되도록 Prisma Client를 수동으로 다시 생성해야 합니다.
"Prisma 클라이언트 생성" 에 대한 자세한 내용은 설명서를 참조하세요.
Prisma Client를 사용하여 데이터베이스에 쿼리 보내기
Prisma Client가 생성되면 코드에 가져와서 데이터베이스로 쿼리를 전송할 수 있습니다. 설치 코드는 다음과 같습니다.
Prisma Client 가져오기 및 인스턴스화
다음과 같이 Prisma Client를 가져와 인스턴스화할 수 있습니다.
또는
이제 생성된 Prisma Client API를 통해 쿼리를 전송할 수 있습니다. 몇 가지 샘플 쿼리는 다음과 같습니다. 모든 Prisma Client 쿼리는 일반 JavaScript 객체를 반환합니다.
Prisma Client 문서 에서 사용 가능한 작업에 대해 자세히 알아보거나 이 데모 영상 (2분)을 시청하세요.
데이터베이스에서 모든 User
레코드를 검색합니다.
반환된 각 User
객체에 posts
관계를 포함합니다.
"prisma"
포함하는 모든 Post
레코드 필터링
동일한 쿼리에서 새 User
와 새 Post
레코드를 만듭니다.
기존 Post
레코드 업데이트
TypeScript 사용
TypeScript를 사용할 때 이 쿼리의 결과는 정적으로 타입 지정 되므로 존재하지 않는 속성에 실수로 액세스하는 것을 방지할 수 있으며, 모든 오타는 컴파일 타임에 발견됩니다. Prisma Client의 생성된 타입 활용에 대한 자세한 내용은 문서의 '생성된 타입의 고급 사용' 페이지를 참조하세요.
지역 사회
Prisma는 열정적인 애플리케이션 개발자들로 구성된 크고 든든한 커뮤니티를 보유하고 있습니다. Discord 와 GitHub 에서 함께하실 수 있습니다.
배지
Prisma로 멋진 작품을 만드셨나요? 🌟 이 배지 로 자랑해 보세요. 리드미나 웹사이트에 딱 맞습니다.
MCP 서버
Prisma CLI에는 Prisma MCP 서버가 포함되어 있습니다. 다음 CLI 명령을 사용하여 시작할 수 있습니다.
대부분의 AI 도구는 다음과 같은 MCP 서버에 대한 JSON 기반 구성을 지원합니다.
Prisma의 MCP 서버는 AI 에이전트에게 Prisma Postgres 데이터베이스를 관리하는 기능(예: 새로운 데이터베이스 인스턴스 시작 또는 스키마 마이그레이션 실행)을 제공합니다.
보안
보안 문제를 보고하려면 security@prisma.io 로 문의하세요.
지원하다
Prisma에 대해 질문하세요
GitHub의 prisma
저장소에서 Prisma 관련 주제에 대한 질문을 하고 토론을 시작할 수 있습니다.
👉 질문하기
Prisma에 대한 버그 보고서를 작성하세요
오류 메시지가 표시되거나 문제가 발생하면 버그 보고서를 작성해 주세요! 문서에서 버그 보고서 작성 모범 사례 (예: 추가 디버깅 출력 포함)를 확인할 수 있습니다.
기능 요청 제출
현재 Prisma에 특정 기능이 없다면 로드맵을 확인하여 해당 기능이 미래에 이미 계획되어 있는지 확인하세요.
로드맵에 있는 기능이 GitHub 이슈와 연결되어 있는 경우, 해당 이슈에 👍 반응을 남겨주시고, 이상적으로는 해당 기능에 대한 생각을 담은 댓글을 남겨주세요!
👉 기능 요청 제출
기여하다
테스트 상태
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Prisma Postgres 데이터베이스를 쉽게 관리하세요