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@7Breaking 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 (use PrismaPg with a direct DB connection string) - SQLite: @prisma/adapter-better-sqlite3
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 (or pnpm exec prisma db seed).
--skip-generateand--skip-seedflags removed.prisma migrate devandprisma db pushno longer runprisma generateautomatically.
- 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.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.