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
sh
# Upgrade packages bun add @prisma/client@7 bun 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
bunx 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:
bun prisma db seed(orbun exec prisma db seed).
- •Run seeding explicitly:
- •
--skip-generateand--skip-seedflags removed. - •
prisma migrate devandprisma db pushno longer runprisma generateautomatically.- •Run
bun prisma generate(orbun exec prisma generate) explicitly.
- •Run
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
bun 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
bun prisma generateandbun prisma db seedexplicitly.