prisma-orm-v7-skills
Reference guide for Prisma ORM 7 breaking changes and upgrade requirements.
- Prisma 7 ships as ES modules only; projects must set
"type": "module"inpackage.jsonand update TypeScript config to resolve ESM (Node.js 20.19.0+ and TypeScript 5.4.0+ required). - Generator provider changes from
prisma-client-jstoprisma-client, with requiredoutputpath; Prisma Client no longer generates intonode_modulesby default. - Datasource config moves from
schema.prismatoprisma.config.ts; env vars no longer auto-load and must be explicitly imported. - All Prisma Client instantiation now requires a driver adapter (e.g.,
@prisma/adapter-pgfor Postgres); Accelerate users should use the Accelerate extension instead. - CLI workflows change:
prisma generateandprisma db seedno longer run automatically; call them explicitly in your scripts.
Links
- Upgrade guide (v7): https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-7
- Prisma Config reference: https://www.prisma.io/docs/orm/reference/prisma-config-reference
- Prisma Client Extensions: https://www.prisma.io/docs/orm/prisma-client/client-extensions
- Prisma 7 migration prompt (AI agents): https://www.prisma.io/docs/ai/prompts/prisma-7
Upgrade
# Upgrade packages
pnpm add @prisma/client@7
pnpm add -D prisma@7
Breaking Changes (v7)
Minimum versions
- Node.js: 20.19.0+ (and 22.x)
- TypeScript: 5.4.0+
Prisma is now ESM
- Prisma ORM ships as ES modules.
- Set
"type": "module"inpackage.json(or migrate your project to ESM). - TypeScript projects must compile/resolve ESM (guide example:
module: ESNext,target: ES2023,moduleResolution: node).
Prisma schema + generation changes
- Generator provider:
prisma-client-js→prisma-client. outputis required ingenerator client.- Prisma Client is no longer generated into
node_modulesby default. - After
npx prisma generate, update imports to your generated output path (example:import { PrismaClient } from './generated/prisma/client').
Schema datasource deprecations:
url,directUrl,shadowDatabaseUrlinschema.prismaare deprecated.- Move datasource config to
prisma.config.ts(Prisma Config). - If you used
directUrlfor migrations, set the CLI migration connection string inprisma.config.ts.
Driver adapters required for Prisma Client (new instantiation)
- Prisma Client creation now requires a driver adapter for all databases.
- Example adapters:
- Postgres:
@prisma/adapter-pg(usePrismaPgwith a direct DB connection string) - SQLite:
@prisma/adapter-better-sqlite3
- Postgres:
Prisma Accelerate users (v6 → v7)
- Do not pass
prisma://orprisma+postgres://(Accelerate URLs) to a driver adapter. - Keep the Accelerate URL and instantiate Prisma Client with the Accelerate extension instead.
Env vars are not loaded by default
- Prisma CLI no longer auto-loads
.envfiles in v7. - Explicitly load env vars (for example
import 'dotenv/config'inprisma.config.ts, or load env in your scripts). - Bun users: no change required (bun auto-loads
.env).
Prisma CLI config moved to prisma.config.ts
- Prisma Config is now the default place to configure how Prisma CLI behaves.
- Place
prisma.config.tsat the project root (next topackage.json). - Configure schema path, migrations path/seed, and datasource URL there.
Client middleware removed
prisma.$use(...)is removed.- Migrate middleware logic to Prisma Client Extensions.
Metrics removed from Client Extensions
- The Metrics preview feature is removed in v7.
- Use your database driver/adapter or implement custom counters via extensions.
Migrate/seed/generate behavior changes
- Automatic seeding after
prisma migrate dev/prisma migrate resetis removed.- Run seeding explicitly:
pnpm prisma db seed(orpnpm exec prisma db seed).
- Run seeding explicitly:
--skip-generateand--skip-seedflags removed.prisma migrate devandprisma db pushno longer runprisma generateautomatically.- Run
pnpm prisma generate(orpnpm exec prisma generate) explicitly.
- Run
Prisma-specific env vars removed
- Removed env vars:
PRISMA_CLI_QUERY_ENGINE_TYPEPRISMA_CLIENT_ENGINE_TYPEPRISMA_QUERY_ENGINE_BINARYPRISMA_QUERY_ENGINE_LIBRARYPRISMA_GENERATE_SKIP_AUTOINSTALLPRISMA_SKIP_POSTINSTALL_GENERATEPRISMA_GENERATE_IN_POSTINSTALLPRISMA_GENERATE_DATAPROXYPRISMA_GENERATE_NO_ENGINEPRISMA_CLIENT_NO_RETRYPRISMA_MIGRATE_SKIP_GENERATEPRISMA_MIGRATE_SKIP_SEED
MongoDB support
- Prisma ORM 7 does not support MongoDB yet; stay on Prisma ORM 6 if you need MongoDB.
Upgrade Checklist (quick)
- Upgrade packages; confirm Node/TypeScript versions.
- Move to ESM (or adjust your runtime/build to consume ESM).
- Update
schema.prismagenerator toprovider = "prisma-client"and setoutput. - Run
pnpm prisma generateand update Prisma Client imports to the generated output path. - Add
prisma.config.tsat repo root; move datasource config and load env explicitly. - Update Prisma Client instantiation to use a driver adapter (unless using Accelerate).
- Update workflows: run
pnpm prisma generateandpnpm prisma db seedexplicitly.
More from gocallum/nextjs16-agent-skills
authjs-skills
Auth.js v5 setup for Next.js authentication including Google OAuth, credentials provider, environment configuration, and core API integration
488ai-sdk-6-skills
AI SDK 6 Beta overview, agents, tool approval, Groq (Llama), and Vercel AI Gateway. Key breaking changes from v5 and new patterns.
310clerk-nextjs-skills
Clerk authentication for Next.js 16 (App Router only) with proxy.ts setup, migration from middleware.ts, environment configuration, and MCP server integration.
259resend-integration-skills
Integrate Resend email service via MCP protocol for AI agents to send emails with Claude Desktop, GitHub Copilot, and Cursor. Set up transactional and marketing emails, configure sender verification, and use AI to automate email workflows.
248mcp-server-skills
Pattern for building MCP servers in Next.js with mcp-handler, shared Zod schemas, and reusable server actions.
224upstash-vector-db-skills
Upstash Vector DB setup, semantic search, namespaces, and embedding models (MixBread preferred). Use when building vector search features on Vercel.
203