Skip to main content

prisma-upgrade-v7-schema-changes

Schema Changes. Reference when using this Prisma feature.

Jump to install

Source facts

Repository
prisma/cursor-plugin
Last source activity
February 6, 2026 at 14:17
Detected SKILL.md language
English
Stars
10
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
prisma-upgrade-v7-schema-changes
description
Schema Changes. Reference when using this Prisma feature.
license
MIT
metadata
{"author":"prisma","version":"7.0.0"}
# Schema Changes Prisma v7 introduces a new `prisma-client` generator. Update your generator block and import paths accordingly. ## Generator Provider ### Before (v6) ```prisma generator client { provider = "prisma-client-js" engineType = "binary" // or "library" } ``` ### After (v7) ```prisma generator client { provider = "prisma-client" output = "../generated" } ``` ## Key Changes ### 1. Provider name Use `prisma-client` in Prisma v7. ### 2. Output is required (for `prisma-client`) The `output` field is **mandatory** when using `prisma-client`. Prisma Client no longer generates to `node_modules` with this generator. ```prisma generator client { provider = "prisma-client" output = "../generated" // Required for prisma-client } ``` ### 3. Engine type removed `engineType` is removed in Prisma v7. Remove any `engineType` setting from your generator block. ## Example Output Paths (prisma-client) ### Standard project ```prisma output = "../generated" ``` Creates: `generated/client` ### Monorepo ```prisma output = "../../packages/database/generated" ``` ### Same directory as schema ```prisma output = "./generated" ``` Creates: `prisma/generated/client` ## Datasource Block The `url`, `directUrl`, and `shadowDatabaseUrl` values now live in `prisma.config.ts` in Prisma v7. Keep only the provider in `schema.prisma`: ### Before (v6) ```prisma datasource db { provider = "postgresql" url = env("DATABASE_URL") directUrl = env("DIRECT_URL") } ``` ### After (v7) ```prisma datasource db { provider = "postgresql" // URLs configured in prisma.config.ts } ``` ```typescript // prisma.config.ts export default defineConfig({ datasource: { url: env('DATABASE_URL'), directUrl: env('DIRECT_URL'), shadowDatabaseUrl: env('SHADOW_DATABASE_URL'), }, }) ``` ## Full Example ### v6 Schema ```prisma generator client { provider = "prisma-client-js" engineType = "library" } datasource db { provider = "postgresql" url = env("DATABASE_URL") directUrl = env("DIRECT_URL") } ``` ### v7 Schema ```prisma generator client { provider = "prisma-client" output = "../generated" } datasource db { provider = "postgresql" } ``` ## After Schema Changes 1. Run `prisma generate`: ```bash npx prisma generate ``` 2. Update imports throughout your codebase: ```typescript // Before (prisma-client-js) import { PrismaClient } from '@prisma/client' // After (prisma-client, output = "../generated") import { PrismaClient } from '../generated/client' ``` 3. Update .gitignore (if using `prisma-client` output): ``` generated ``` ## Preview Features Preview features work the same: ```prisma generator client { provider = "prisma-client" output = "../generated" previewFeatures = ["relationJoins", "fullTextSearch"] } ```
View on GitHub