メインコンテンツへスキップ

はじめに

Prisma Clientは、データに合わせて調整された、自動生成される型安全なクエリビルダーです。Prisma Clientを使い始める最も簡単な方法は、クイックスタートに従うことです。

クイックスタート (5分)

下記のセットアップ手順では、Prisma Clientをセットアップするために必要な手順の概要を説明しています。独自のデータベースでPrisma Clientの使用を開始したい場合は、以下のガイドのいずれかに従ってください。

新しいプロジェクトをゼロからセットアップする



既存のプロジェクトにPrismaを追加する

セットアップ

1. 前提条件

Prisma Clientをセットアップするには、データベース接続、Prisma Clientジェネレーター、および少なくとも1つのモデルを含むPrismaスキーマファイルが必要です。

schema.prisma
datasource db {
url = env("DATABASE_URL")
provider = "postgresql"
}

generator client {
provider = "prisma-client-js"
}

model User {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
email String @unique
name String?
}

また、Prisma CLIのインストールも必ず行ってください。

npm install prisma --save-dev
npx prisma

2. インストール

次のコマンドを使用して、プロジェクトにPrisma Clientをインストールします。

npm install @prisma/client

このコマンドは、prisma generateコマンドも実行し、Prisma Clientをnode_modules/.prisma/clientディレクトリに生成します。

3. Prisma Clientのインポート

ユースケースに応じて、プロジェクトにPrisma Clientをインポートする複数の方法があります。

import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB

エッジ環境の場合、Prisma Clientを次のようにインポートできます。

import { PrismaClient } from '@prisma/client/edge'

const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB

: ドライバアダプターを使用している場合は、@prisma/clientから直接インポートできます。@prisma/client/edgeからインポートする必要はありません。

Denoの場合、Prisma Clientを次のようにインポートできます。

lib/prisma.ts
import { PrismaClient } from './generated/client/deno/edge.ts'

const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB

インポートパスは、Prismaスキーマのgeneratorブロックで指定されたカスタムoutputによって異なります。

4. Prisma Clientを使用してデータベースにクエリを送信する

PrismaClientをインスタンス化したら、コード内でクエリの送信を開始できます。

// run inside `async` function
const newUser = await prisma.user.create({
data: {
name: 'Alice',
email: 'alice@prisma.io',
},
})

const users = await prisma.user.findMany()
情報

すべてのPrisma Clientメソッドは、PrismaPromiseのインスタンスを返します。これは、awaitまたは.then()または.catch()を呼び出したときにのみ実行されます。

5. アプリケーションの進化

Prismaスキーマに反映されるデータベースに変更を加えるたびに、node_modules/.prisma/clientディレクトリで生成されたコードを更新するために、Prisma Clientを手動で再生成する必要があります。

prisma generate