Prisma + Neon: use @prisma/adapter-neon, do not hand-roll the driver
Guide Prisma + Neon: use @prisma/adapter-neon, do not hand-roll the driver: # Prisma + Neon: use the official adapter ## The trap Older tutorials wire Prisma to Neon by installing `@neondatabase/serverless` and. Use this when you hit exactly this in Prisma + Neon. Not for different errors or different tools.
TL;DR: # Prisma + Neon: use the official adapter ## The trap Older tutorials wire Prisma to Neon by installing @neondatabase/serverless and
Fix
- # Prisma + Neon: use the official adapter ## The trap Older tutorials wire Prisma to Neon by installing.
Expected: the request routes instead of erroring.
- Agents following stale training data still do this, and then fight version mismatches between the driver, the ws package, and Prisma. ## The rule Neon's current Prisma guide says it plainly: do not install.
Expected: this specific failure stops.
- ```sh
npm install @prisma/client @prisma/adapter-neon dotenv
Expected: this specific failure stops.
## Details
`@neondatabase/serverless` and `ws` and hand-rolling a driver adapter. That was before `@prisma/adapter-neon` existed. `@neondatabase/serverless` or `ws` as separate packages. The `@prisma/adapter-neon` package bundles everything needed. ```ts
import { PrismaClient } from './generated/prisma';
import { PrismaNeon } from '@prisma/adapter-neon';
const adapter = new PrismaNeon({ connectionString: process.env.DATABASE_URL });
export const prisma = new PrismaClient({ adapter });
``` ## Checklist - One adapter package, no manual ws wiring. - Pooled `DATABASE_URL` into the adapter (app traffic), direct string for the CLI. - If a tutorial tells you to `neonConfig.webSocketConstructor = ws` , it predates the adapter; follow the current guide instead.
## When to use
You hit exactly this: Prisma + Neon: use @prisma/adapter-neon, do not hand-roll the driver in Prisma + Neon.
## When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.
## Compatibility
Prisma + Neon.Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.