| name | prisma-orm-v7-skills |
| description | Key facts and breaking changes for upgrading to Prisma ORM 7. Consider version 7 changes before generation or troubleshooting |
Links
Upgrade
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" in package.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.
output is required in generator client.
- Prisma Client is no longer generated into
node_modules by default.
- After
npx prisma generate, update imports to your generated output path (example:
import { PrismaClient } from './generated/prisma/client').
Schema datasource deprecations:
url, directUrl, shadowDatabaseUrl in schema.prisma are deprecated.
- Move datasource config to
prisma.config.ts (Prisma Config).
- If you used
directUrl for migrations, set the CLI migration connection string in prisma.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 (use PrismaPg with a direct DB connection string)
- SQLite:
@prisma/adapter-better-sqlite3
Prisma Accelerate users (v6 → v7)
- Do not pass
prisma:// or prisma+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
.env files in v7.
- Explicitly load env vars (for example
import 'dotenv/config' in prisma.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.ts at the project root (next to package.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 reset is removed.
- Run seeding explicitly:
pnpm prisma db seed (or pnpm exec prisma db seed).
--skip-generate and --skip-seed flags removed.
prisma migrate dev and prisma db push no longer run prisma generate automatically.
- Run
pnpm prisma generate (or pnpm exec prisma generate) explicitly.
Prisma-specific env vars removed
- Removed env vars:
PRISMA_CLI_QUERY_ENGINE_TYPE
PRISMA_CLIENT_ENGINE_TYPE
PRISMA_QUERY_ENGINE_BINARY
PRISMA_QUERY_ENGINE_LIBRARY
PRISMA_GENERATE_SKIP_AUTOINSTALL
PRISMA_SKIP_POSTINSTALL_GENERATE
PRISMA_GENERATE_IN_POSTINSTALL
PRISMA_GENERATE_DATAPROXY
PRISMA_GENERATE_NO_ENGINE
PRISMA_CLIENT_NO_RETRY
PRISMA_MIGRATE_SKIP_GENERATE
PRISMA_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.prisma generator to provider = "prisma-client" and set output.
- Run
pnpm prisma generate and update Prisma Client imports to the generated output path.
- Add
prisma.config.ts at 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 generate and pnpm prisma db seed explicitly.