@@ -13,7 +13,7 @@ import ReadMore from '~/components/ReadMore.astro';
1313
1414[ Prisma Postgres] ( https://www.prisma.io/ ) 는 최신 웹 앱을 위해 구축된 완전 관리형 서버리스 Postgres 데이터베이스입니다.
1515
16- ## Prisma ORM을 통해 연결 (권장)
16+ ## Prisma ORM에 연결하기 (권장)
1717
1818[ Prisma ORM] ( https://www.prisma.io/orm ) 은 Prisma Postgres 데이터베이스에 연결하는 데 권장되는 방법입니다. 타입 안전 쿼리, 마이그레이션 및 글로벌 성능을 제공합니다.
1919
@@ -25,14 +25,14 @@ import ReadMore from '~/components/ReadMore.astro';
2525다음 명령을 실행하여 필수 Prisma 의존성을 설치합니다.
2626
2727``` bash
28- npm install prisma tsx --save-dev
29- npm install @prisma/extension-accelerate @prisma/client
28+ npm install prisma tsx --save-dev
29+ npm install @prisma/adapter-pg @prisma/client
3030```
3131
3232설치가 완료되면 프로젝트에서 다음 명령어를 사용하여 Prisma를 초기화합니다.
3333
3434``` bash
35- npx prisma init --db --output ../src/ generated/prisma
35+ npx prisma init --db --output ./ generated
3636```
3737
3838Prisma Postgres 데이터베이스를 설정하는 동안 몇 가지 질문에 답해야 합니다. 현재 위치에서 가장 가까운 지역을 선택하고 데이터베이스의 이름을 "My Astro Project"와 같이 기억할 수 있는 이름으로 설정합니다.
@@ -47,12 +47,10 @@ Prisma Postgres 데이터베이스를 설정하는 동안 몇 가지 질문에
4747
4848다음 예시에서는 ` Post ` 모델을 임시로 정의합니다. 시작하려면 스키마에 모델을 추가하세요. 나중에 안전하게 삭제하거나 실제 데이터를 반영하는 모델로 대체할 수 있습니다.
4949
50- ` prisma/schema.prisma ` 파일의 generator provider를 ` prisma-client-js ` 에서 ` prisma-client ` 로 업데이트합니다.
51-
52- ``` prisma title="prisma/schema.prisma" {2} ins={11-16}
50+ ``` prisma title="prisma/schema.prisma" ins={11-16}
5351generator client {
5452 provider = "prisma-client"
55- output = "../src/ generated/prisma "
53+ output = "./ generated"
5654}
5755
5856datasource db {
@@ -70,6 +68,14 @@ model Post {
7068
7169[ Prisma 스키마 참조] ( https://www.prisma.io/docs/concepts/components/prisma-schema ) 에서 Prisma ORM 설정 구성에 대해 자세히 알아보세요.
7270
71+ ### 클라이언트 생성하기
72+
73+ 스키마로부터 Prisma 클라이언트를 생성하려면 다음 명령을 실행하세요.
74+
75+ ``` bash
76+ npx prisma generate
77+ ```
78+
7379### 마이그레이션 파일 생성하기
7480
7581다음 명령을 실행하여 데이터베이스 테이블을 생성하고 스키마로부터 Prisma 클라이언트를 생성합니다. 그러면 마이그레이션 기록 파일이 포함된 ` prisma/migrations/ ` 디렉터리도 함께 생성됩니다.
@@ -83,12 +89,12 @@ npx prisma migrate dev --name init
8389` /src/lib ` 에 ` prisma.ts ` 파일을 생성합니다. 이 파일은 Prisma 클라이언트 인스턴스를 초기화하고 내보내 Astro 프로젝트 전체에서 데이터베이스를 쿼리할 수 있도록 합니다.
8490
8591``` typescript title="src/lib/prisma.ts"
86- import { PrismaClient } from " ../generated/ prisma/client " ;
87- import { withAccelerate } from " @ prisma/extension-accelerate " ;
92+ import { PrismaPg } from ' @ prisma/adapter-pg ' ;
93+ import { PrismaClient } from ' ../../ prisma/generated/client ' ;
8894
89- const prisma = new PrismaClient ({
90- datasourceUrl: import . meta . env . DATABASE_URL ,
91- }). $extends ( withAccelerate () );
95+ const connectionString = import . meta . env . DATABASE_URL ;
96+ const adapter = new PrismaPg ({ connectionString });
97+ const prisma = new PrismaClient ({ adapter } );
9298
9399export default prisma ;
94100```
@@ -127,16 +133,17 @@ const posts = await prisma.post.findMany({
127133
128134API 라우트에서 쿼리를 처리하는 것이 가장 좋습니다. Astro 프로젝트에서 Prisma ORM을 사용하는 방법에 대한 자세한 내용은 [ Astro + Prisma ORM 가이드] ( https://www.prisma.io/docs/guides/astro ) 를 참조하세요.
129135
130- ## 다이렉트 TCP 연결하기
136+ ## 다른 ORM 및 라이브러리와 연결하기
131137
132- 다이렉트 TCP를 통해 Prisma Postgres에 연결하려면 Prisma 콘솔에서 다이렉트 연결 문자열을 생성하면 됩니다. 이를 통해 다른 ORM, 데이터베이스 라이브러리 또는 도구를 연결할 수 있습니다 .
138+ 다른 ORM, 데이터베이스 라이브러리 또는 원하는 도구를 사용하여 직접 TCP를 통해 Prisma Postgres에 연결할 수 있습니다. 시작하려면 Prisma Console에서 직접 연결 문자열을 만드세요 .
133139
134140### 전제 조건
135- - TCP가 활성화된 연결 문자열이 있는 [ Prisma Postgres] ( https://pris.ly/ppg ) 데이터베이스
141+ - [ 요청 시 렌더링 (SSR)] ( /ko/guides/on-demand-rendering/ ) 을 활성화하기 위해 어댑터가 설치된 Astro 프로젝트가 필요합니다.
142+ - TCP가 활성화된 연결 문자열이 있는 [ Prisma Postgres] ( https://pris.ly/ppg ) 데이터베이스가 필요합니다.
136143
137144### 의존성 설치하기
138145
139- 이 예시에서는 [ Node.js용 PostgreSQL 클라이언트인 ` pg ` ] ( https://github.com/brianc/node-postgres ) 를 사용하여 다이렉트 TCP 연결을 설정합니다 .
146+ 다음은 직접 TCP 연결을 하기 위해 [ ` pg ` ( Node.js용 PostgreSQL 클라이언트) ] ( https://github.com/brianc/node-postgres ) 를 사용하는 예시입니다 .
140147
141148다음 명령을 실행하여 ` pg ` 패키지를 설치합니다.
142149
0 commit comments