Prisma Clientの紹介
Prisma Clientは、自動生成され、型安全なクエリビルダーであり、データに合わせたものです。Prisma Clientを始める最も簡単な方法は、クイックスタートに従うことです。
クイックスタート(5分)
セットアップ手順は以下で、Prisma Clientをセットアップするために必要な手順の概要を説明します。自身のデータベースでPrisma Clientの使用を始めるには、以下のいずれかのガイドに従ってください
新しいプロジェクトをゼロからセットアップする
既存のプロジェクトにPrismaを追加する
セットアップ
1. 前提条件
Prisma Clientをセットアップするには、データベース接続、Prisma Clientジェネレーター、および少なくとも1つのモデルを含むPrismaスキーマファイルが必要です
datasource db {
url = env("DATABASE_URL")
provider = "postgresql"
}
generator client {
provider = "prisma-client-js"
output = "../src/generated/prisma"
}
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
3. Prisma Clientのインポート
ユースケースに応じて、プロジェクトでPrisma Clientをインポートする方法は複数あります
- TypeScript
- JavaScript
import { PrismaClient } from './generated/prisma'
const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB
const { PrismaClient } = require('./generated/prisma')
const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB
エッジ環境の場合、Prisma Clientは次のようにインポートできます
- TypeScript
- JavaScript
import { PrismaClient } from './generated/prisma/edge'
const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB
const { PrismaClient } = require('./generated/prisma/edge')
const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB
注: ドライバーアダプターを使用している場合は、ジェネレーターの
output
パスで指定された場所から直接インポートできます(例:./src/generated/prisma
)。./src/generated/prisma/edge
からインポートする必要はありません。
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