diff --git a/src/content/docs/ko/guides/backend/prisma-postgres.mdx b/src/content/docs/ko/guides/backend/prisma-postgres.mdx index 00d93c19e2d15..ad06f8d7f85a6 100644 --- a/src/content/docs/ko/guides/backend/prisma-postgres.mdx +++ b/src/content/docs/ko/guides/backend/prisma-postgres.mdx @@ -13,7 +13,7 @@ import ReadMore from '~/components/ReadMore.astro'; [Prisma Postgres](https://www.prisma.io/)는 최신 웹 앱을 위해 구축된 완전 관리형 서버리스 Postgres 데이터베이스입니다. -## Prisma ORM을 통해 연결 (권장) +## Prisma ORM에 연결하기 (권장) [Prisma ORM](https://www.prisma.io/orm)은 Prisma Postgres 데이터베이스에 연결하는 데 권장되는 방법입니다. 타입 안전 쿼리, 마이그레이션 및 글로벌 성능을 제공합니다. @@ -25,14 +25,14 @@ import ReadMore from '~/components/ReadMore.astro'; 다음 명령을 실행하여 필수 Prisma 의존성을 설치합니다. ```bash -npm install prisma tsx --save-dev -npm install @prisma/extension-accelerate @prisma/client +npm install prisma tsx --save-dev +npm install @prisma/adapter-pg @prisma/client ``` 설치가 완료되면 프로젝트에서 다음 명령어를 사용하여 Prisma를 초기화합니다. ```bash -npx prisma init --db --output ../src/generated/prisma +npx prisma init --db --output ./generated ``` Prisma Postgres 데이터베이스를 설정하는 동안 몇 가지 질문에 답해야 합니다. 현재 위치에서 가장 가까운 지역을 선택하고 데이터베이스의 이름을 "My Astro Project"와 같이 기억할 수 있는 이름으로 설정합니다. @@ -47,12 +47,10 @@ Prisma Postgres 데이터베이스를 설정하는 동안 몇 가지 질문에 다음 예시에서는 `Post` 모델을 임시로 정의합니다. 시작하려면 스키마에 모델을 추가하세요. 나중에 안전하게 삭제하거나 실제 데이터를 반영하는 모델로 대체할 수 있습니다. -`prisma/schema.prisma` 파일의 generator provider를 `prisma-client-js`에서 `prisma-client`로 업데이트합니다. - -```prisma title="prisma/schema.prisma" {2} ins={11-16} +```prisma title="prisma/schema.prisma" ins={11-16} generator client { provider = "prisma-client" - output = "../src/generated/prisma" + output = "./generated" } datasource db { @@ -70,6 +68,14 @@ model Post { [Prisma 스키마 참조](https://www.prisma.io/docs/concepts/components/prisma-schema)에서 Prisma ORM 설정 구성에 대해 자세히 알아보세요. +### 클라이언트 생성하기 + +스키마로부터 Prisma 클라이언트를 생성하려면 다음 명령을 실행하세요. + +```bash +npx prisma generate +``` + ### 마이그레이션 파일 생성하기 다음 명령을 실행하여 데이터베이스 테이블을 생성하고 스키마로부터 Prisma 클라이언트를 생성합니다. 그러면 마이그레이션 기록 파일이 포함된 `prisma/migrations/` 디렉터리도 함께 생성됩니다. @@ -83,12 +89,12 @@ npx prisma migrate dev --name init `/src/lib`에 `prisma.ts` 파일을 생성합니다. 이 파일은 Prisma 클라이언트 인스턴스를 초기화하고 내보내 Astro 프로젝트 전체에서 데이터베이스를 쿼리할 수 있도록 합니다. ```typescript title="src/lib/prisma.ts" -import { PrismaClient } from "../generated/prisma/client"; -import { withAccelerate } from "@prisma/extension-accelerate"; +import { PrismaPg } from '@prisma/adapter-pg'; +import { PrismaClient } from '../../prisma/generated/client'; -const prisma = new PrismaClient({ - datasourceUrl: import.meta.env.DATABASE_URL, -}).$extends(withAccelerate()); +const connectionString = import.meta.env.DATABASE_URL; +const adapter = new PrismaPg({ connectionString }); +const prisma = new PrismaClient({ adapter }); export default prisma; ``` @@ -127,16 +133,17 @@ const posts = await prisma.post.findMany({ API 라우트에서 쿼리를 처리하는 것이 가장 좋습니다. Astro 프로젝트에서 Prisma ORM을 사용하는 방법에 대한 자세한 내용은 [Astro + Prisma ORM 가이드](https://www.prisma.io/docs/guides/astro)를 참조하세요. -## 다이렉트 TCP 연결하기 +## 다른 ORM 및 라이브러리와 연결하기 -다이렉트 TCP를 통해 Prisma Postgres에 연결하려면 Prisma 콘솔에서 다이렉트 연결 문자열을 생성하면 됩니다. 이를 통해 다른 ORM, 데이터베이스 라이브러리 또는 도구를 연결할 수 있습니다. +다른 ORM, 데이터베이스 라이브러리 또는 원하는 도구를 사용하여 직접 TCP를 통해 Prisma Postgres에 연결할 수 있습니다. 시작하려면 Prisma Console에서 직접 연결 문자열을 만드세요. ### 전제 조건 -- TCP가 활성화된 연결 문자열이 있는 [Prisma Postgres](https://pris.ly/ppg) 데이터베이스 +- [요청 시 렌더링 (SSR)](/ko/guides/on-demand-rendering/)을 활성화하기 위해 어댑터가 설치된 Astro 프로젝트가 필요합니다. +- TCP가 활성화된 연결 문자열이 있는 [Prisma Postgres](https://pris.ly/ppg) 데이터베이스가 필요합니다. ### 의존성 설치하기 -이 예시에서는 [Node.js용 PostgreSQL 클라이언트인 `pg`](https://github.com/brianc/node-postgres)를 사용하여 다이렉트 TCP 연결을 설정합니다. +다음은 직접 TCP 연결을 하기 위해 [`pg`(Node.js용 PostgreSQL 클라이언트)](https://github.com/brianc/node-postgres)를 사용하는 예시입니다. 다음 명령을 실행하여 `pg` 패키지를 설치합니다.