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-skills

Links

Upgrade

sh
# 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"
    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.