prisma-orm-v7-skills
Original:🇺🇸 English
Translated
Key facts and breaking changes for upgrading to Prisma ORM 7. Consider version 7 changes before generation or troubleshooting
21installs
Added on
NPX Install
npx skill4agent add gocallum/nextjs16-agent-skills prisma-orm-v7-skillsTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →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
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 in
"type": "module"(or migrate your project to ESM).package.json - 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 - is required in
output.generator client - Prisma Client is no longer generated into by default.
node_modules - After , update imports to your generated output path (example:
npx prisma generate).import { PrismaClient } from './generated/prisma/client'
Schema datasource deprecations:
- ,
url,directUrlinshadowDatabaseUrlare deprecated.schema.prisma - Move datasource config to (Prisma Config).
prisma.config.ts - If you used for migrations, set the CLI migration connection string in
directUrl.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: (use
@prisma/adapter-pgwith a direct DB connection string)PrismaPg - SQLite:
@prisma/adapter-better-sqlite3
- Postgres:
Prisma Accelerate users (v6 → v7)
- Do not pass or
prisma://(Accelerate URLs) to a driver adapter.prisma+postgres:// - 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 files in v7.
.env - Explicitly load env vars (for example in
import 'dotenv/config', or load env in your scripts).prisma.config.ts - Bun users: no change required (bun auto-loads ).
.env
Prisma CLI config moved to prisma.config.ts
prisma.config.ts- Prisma Config is now the default place to configure how Prisma CLI behaves.
- Place at the project root (next to
prisma.config.ts).package.json - Configure schema path, migrations path/seed, and datasource URL there.
Client middleware removed
- is removed.
prisma.$use(...) - 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 devis removed.prisma migrate reset- Run seeding explicitly: (or
pnpm prisma db seed).pnpm exec prisma db seed
- Run seeding explicitly:
- and
--skip-generateflags removed.--skip-seed - and
prisma migrate devno longer runprisma db pushautomatically.prisma generate- Run (or
pnpm prisma generate) explicitly.pnpm exec prisma generate
- 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 generator to
schema.prismaand setprovider = "prisma-client".output - Run and update Prisma Client imports to the generated output path.
pnpm prisma generate - Add at repo root; move datasource config and load env explicitly.
prisma.config.ts - Update Prisma Client instantiation to use a driver adapter (unless using Accelerate).
- Update workflows: run and
pnpm prisma generateexplicitly.pnpm prisma db seed