Introduction to Prisma Client
Learn how to set up Prisma Client.
Prisma Client is an auto-generated and type-safe query builder that's tailored to your data. The easiest way to get started with Prisma Client is by following the Quickstart.
The setup instructions below provide a high-level overview of the steps needed to set up Prisma Client. If you want to get started using Prisma Client with your own database, follow one of these guides:
🚀 Set up a new project from scratch
➕ Add Prisma to an existing project
Set up
1. Prerequisites
In order to set up Prisma Client, you need a Prisma schema file with your database connection, the Prisma Client generator, and at least one model:
datasource db {
provider = "postgresql"
}
generator client {
provider = "prisma-client"
output = "../src/generated/prisma"
}
model User {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
email String @unique
name String?
}Also make sure to install the Prisma CLI:
npm install prisma --save-devnpx prisma2. Installation
Install Prisma Client in your project with the following command:
npm install @prisma/client3. Importing Prisma Client
There are multiple ways to import Prisma Client in your project depending on your use case:
import { PrismaClient } from "./generated/prisma";
const prisma = new PrismaClient();
// use `prisma` in your application to read and write data in your DBFor edge environments, you can import Prisma Client as follows:
import { PrismaClient } from "./generated/prisma/edge";
const prisma = new PrismaClient();
// use `prisma` in your application to read and write data in your DBNote: If you're using driver adapters, you can import from the location specified in your generator's
outputpath directly, e.g../src/generated/prisma. No need to import from./src/generated/prisma/edge.
4. Use Prisma Client to send queries to your database
Once you have instantiated PrismaClient, you can start sending queries in your code:
// run inside `async` function
const newUser = await prisma.user.create({
data: {
name: "Alice",
email: "alice@prisma.io",
},
});
const users = await prisma.user.findMany();All Prisma Client methods return an instance of PrismaPromise which only executes when you call await or .then() or .catch().
5. Evolving your application
Whenever you make changes to your database that are reflected in the Prisma schema, you need to manually re-generate Prisma Client to update the generated code in your output directory:
prisma generate