Prisma ORM Guide
Prisma ORMNext-Generation ORM
Type-safe database access for Node.js and TypeScript. Learn schemas, queries, relations, and migrations.
Contents
Prisma Basics
Prisma is a next-generation ORM that makes database access easy with type safety and auto-completion.
bash
# Installation
npm install prisma @prisma/client
npx prisma init
# This creates:
# - prisma/schema.prisma (schema file)
# - .env (database connection)typescript
// Basic Setup
// prisma/schema.prisma
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
authorId Int
author User @relation(fields: [authorId], references: [id])
}
// Generate Prisma Client
npx prisma generate
// Usage in your application
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function main() {
const user = await prisma.user.create({
data: {
email: 'alice@example.com',
name: 'Alice',
},
});
console.log(user);
}
main()
.catch((e) => {
throw e;
})
.finally(async () => {
await prisma.$disconnect();
});