Prisma + Turso
Prisma가 Turso 데이터베이스와 함께 동작하도록 설정하는 방법이에요. 어댑터 설치부터 스키마 설정, 마이그레이션, 쿼리까지 순서대로 따라오세요.
출처: 문서
본문
Prerequisites
시작하기 전에 다음을 확인하세요:
- Turso CLI 설치
- Turso 가입 또는 로그인
- Prisma 5.4.2 이상
Install the libSQL SDK and its Prisma driver
npm install @libsql/client @prisma/adapter-libsql
pnpm add @libsql/client @prisma/adapter-libsql
yarn add @libsql/client @prisma/adapter-libsql
Retrieve database credentials
데이터베이스 자격 증명(URL과 인증 토큰)을 받아서 환경 변수로 저장해 두세요.
Enable the driverAdapters preview feature flag:
generator client {
provider = "prisma-client-js"
previewFeatures = ["driverAdapters"]
}
datasource db {
provider = "sqlite"
url = "file:./dev.db"
}
Generate Prisma client
npx prisma generate
pnpm dlx prisma generate
Update your Prisma Client Instance
Node.js / Serverless
import { PrismaClient } from "@prisma/client";
import { PrismaLibSQL } from "@prisma/adapter-libsql";
const adapter = new PrismaLibSQL({
url: process.env.TURSO_DATABASE_URL,
authToken: process.env.TURSO_AUTH_TOKEN,
})
const prisma = new PrismaClient({ adapter })
Edge Runtimes
import { PrismaClient } from "@prisma/client";
import { PrismaLibSQL } from "@prisma/adapter-libsql";
const adapter = new PrismaLibSQL({
url: process.env.TURSO_DATABASE_URL,
authToken: process.env.TURSO_AUTH_TOKEN,
})
const prisma = new PrismaClient({ adapter })
Database Migrations
Prisma Migrate와 Introspection 워크플로는 현재 Turso에서 지원되지 않아요 — 자세히 보기.
먼저 로컬 SQLite 데이터베이스를 대상으로 prisma migrate dev로 마이그레이션 파일을 생성해요.
npx prisma migrate dev --name init
pnpm dlx prisma migrate dev --name init
그다음 Turso CLI로 마이그레이션을 Turso 데이터베이스에 적용해요.
turso db shell turso-prisma-db < ./prisma/migrations/20230922132717_init/migration.sql
참고로, 20230922132717_init은 npx prisma migrate dev 명령으로 만들어진 여러분의 마이그레이션 이름으로 바꾸세요.
Query
const response = await prisma.table_name.findMany();
더 알아보기 (Learn more)
- TypeScript SDK 퀵스타트 — SDK 기본 흐름 익히기
- Drizzle ORM 연동 — 다른 ORM 선택지 보기
- TypeScript SDK 레퍼런스 — 전체 API 살펴보기
- 데이터베이스 자격 증명 — URL과 토큰 발급 방법