SKILL.md
$2b
- 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(usePrismaPgwith 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(orpnpm exec prisma db seed).
--skip-generateand--skip-seedflags removed.
prisma migrate devandprisma db pushno longer runprisma generateautomatically.
- Run
pnpm prisma generate(orpnpm 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.