prisma/cursor-plugin

prisma-upgrade-v7-schema-changes

Schema Changes. Reference when using this Prisma feature.

First seen Mar 18, 2026

Installation

$ npx skills add prisma/cursor-plugin --skill prisma-upgrade-v7-schema-changes

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from prisma/cursor-plugin · top by installs.

npx skills add prisma/cursor-plugin

Browse all from prisma/cursor-plugin

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 9
License MIT
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version7.0.0
LicenseMIT
More metadata
author
prisma
version
7.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,064 B
  • docs SUMMARY.md 97 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 17 installs

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

  1. Run prisma generate:

``bash npx prisma generate ``

  1. 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' ```

  1. 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"]
}