prisma-orm-v7-skills
$
npx mdskill add elophanto/EloPhanto/prisma-orm-v7-skillsPrevent Prisma v7 upgrade failures by checking breaking changes.
- Identify Node.js, TypeScript, and schema migration requirements.
- Integrates with Prisma CLI, package managers, and TypeScript.
- Analyzes project configuration against official upgrade guides.
- Outputs specific dependency updates and import path corrections.
SKILL.md
.github/skills/prisma-orm-v7-skillsView on GitHub ↗
---
name: prisma-orm-v7-skills
description: Key facts and breaking changes for upgrading to Prisma ORM 7. Consider version 7 changes before generation or troubleshooting
---
## Triggers
- prisma
- orm
- database
- schema
- migration
- prisma client
- prisma migrate
- prisma studio
- db schema
- data model
## 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@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.
## Verify
- The code was actually executed (or type-checked / linted as appropriate) and the command output is captured
- Dependencies and runtime versions used are pinned and recorded (e.g., requirements.txt, package.json + lockfile, .nvmrc)
- Errors or warnings emitted by the run are addressed or explicitly accepted with a reason
- New external I/O (network, filesystem, DB) has timeouts and error handling, not silent failure
- Tests for the change were run and the pass/fail count is in the transcript
- Secrets and credentials are read from env/secret store, not hard-coded, and `.env` files are not committed
More from elophanto/EloPhanto
- 12-principles-of-animationAudit animation code against Disney's 12 principles adapted for web. Use when reviewing motion, implementing animations, or checking animation quality. Outputs file:line findings.
- accessibility-auditingAudit interfaces against WCAG 2.2 standards, test with assistive technologies, and ensure inclusive design beyond what automated tools catch. Adapted from msitarzewski/agency-agents.
- agency-phase-0-discoveryIntelligence and discovery phase — validate opportunity before committing resources. Adapted from msitarzewski/agency-agents.
- agency-phase-1-strategyStrategy and architecture phase — define what to build, how to structure it, and what success looks like. Adapted from msitarzewski/agency-agents.
- agency-phase-2-foundationFoundation and scaffolding phase — build technical and operational foundation before feature development. Adapted from msitarzewski/agency-agents.
- agency-phase-3-buildBuild and iterate phase — implement all features through continuous Dev-QA loops with orchestrated multi-agent sprints. Adapted from msitarzewski/agency-agents.
- agency-phase-4-hardeningQuality and hardening phase — the final quality gauntlet proving production readiness with evidence. Adapted from msitarzewski/agency-agents.
- agency-phase-5-launchLaunch and growth phase — coordinate go-to-market execution across all channels for maximum impact. Adapted from msitarzewski/agency-agents.
- agency-phase-6-operateOperate and evolve phase — sustained operations with continuous improvement for live products. Adapted from msitarzewski/agency-agents.
- agency-strategyNEXUS multi-agent orchestration strategy — the complete operational playbook for coordinating specialized AI agents across project phases. Adapted from msitarzewski/agency-agents.