This example demonstrates how to use Drizzle ORM with the Prisma extension in a Next.js project.
- Install dependencies:
bun add drizzle-orm@beta
bun add -D prisma prisma-generator-drizzle
- Generate Drizzle schema
bun prisma generate
- Define the Drizzle instance with Prisma extension:
// infra/db.ts
import { PrismaClient } from '@prisma/client'
import { drizzle } from 'drizzle-orm/prisma/pg'
export const db = new PrismaClient().$extends(drizzle())
- Use the Drizzle schema for querying and mutations:
import { db } from '~/infra/db'
import { users } from './<path-to-generated-drizzle>';
await db.$drizzle.insert(users).values({ email: '[email protected]', name: 'John' });
const result = await prisma.$drizzle.select().from(users);
To learn more about Drizzle ORM and Prisma, check out the following resources: