prisma-orm-v7-skills
Key facts and breaking changes for upgrading to Prisma ORM 7. Consider version 7 changes before generation or troubleshooting
What this skill does
## 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.
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.