prisma-upgrade-v7-schema-changes
SKILL.md
Schema Changes
Prisma v7 introduces a new prisma-client generator. Update your generator block and import paths accordingly.
Generator Provider
Before (v6)
generator client {
provider = "prisma-client-js"
engineType = "binary" // or "library"
}
After (v7)
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.
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
output = "../generated"
Creates: generated/client
Monorepo
output = "../../packages/database/generated"
Same directory as schema
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)
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
directUrl = env("DIRECT_URL")
}
After (v7)
datasource db {
provider = "postgresql"
// URLs configured in prisma.config.ts
}
// prisma.config.ts
export default defineConfig({
datasource: {
url: env('DATABASE_URL'),
directUrl: env('DIRECT_URL'),
shadowDatabaseUrl: env('SHADOW_DATABASE_URL'),
},
})
Full Example
v6 Schema
generator client {
provider = "prisma-client-js"
engineType = "library"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
directUrl = env("DIRECT_URL")
}
v7 Schema
generator client {
provider = "prisma-client"
output = "../generated"
}
datasource db {
provider = "postgresql"
}
After Schema Changes
-
Run
prisma generate:npx prisma generate -
Update imports throughout your codebase:
// Before (prisma-client-js) import { PrismaClient } from '@prisma/client' // After (prisma-client, output = "../generated") import { PrismaClient } from '../generated/client' -
Update .gitignore (if using
prisma-clientoutput):generated
Preview Features
Preview features work the same:
generator client {
provider = "prisma-client"
output = "../generated"
previewFeatures = ["relationJoins", "fullTextSearch"]
}
Weekly Installs
2
Repository
prisma/cursor-pluginGitHub Stars
5
First Seen
Mar 18, 2026
Security Audits
Installed on
amp2
cline2
opencode2
cursor2
kimi-cli2
codex2