
prisma-upgrade-v7-schema-changes
✓ Official★ 8by prisma · part of prisma/cursor-plugin
Schema Changes. Reference when using this Prisma feature.
Schema Changes. Reference when using this Prisma feature.
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by prisma
Schema Changes. Reference when using this Prisma feature.
npx skills add https://github.com/prisma/cursor-plugin --skill prisma-upgrade-v7-schema-changes
Download ZIPGitHub8
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-client output):
generated
Preview Features
Preview features work the same:
generator client {
provider = "prisma-client"
output = "../generated"
previewFeatures = ["relationJoins", "fullTextSearch"]
}
npx prisma generateRun this in your project — your agent picks the skill up automatically.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.