[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-prisma-prisma-upgrade-v7":3,"mdc-c22t8b-key":37,"related-org-prisma-prisma-upgrade-v7":2740,"related-repo-prisma-prisma-upgrade-v7":2908},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"prisma-upgrade-v7","migrate Prisma projects from v6 to v7","Complete migration guide from Prisma ORM v6 to v7 covering all breaking changes. Use when upgrading Prisma versions, encountering v7 errors, or migrating existing projects. Triggers on \"upgrade to prisma 7\", \"prisma 7 migration\", \"prisma-client generator\", \"driver adapter required\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"prisma","Prisma","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fprisma.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"TypeScript","typescript","tag",{"name":17,"slug":18,"type":15},"Database","database",{"name":20,"slug":21,"type":15},"Migration","migration",{"name":23,"slug":24,"type":15},"ORM","orm",{"name":9,"slug":8,"type":15},44,"https:\u002F\u002Fgithub.com\u002Fprisma\u002Fskills","2026-04-06T18:48:36.729539","MIT",3,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],null,"https:\u002F\u002Fgithub.com\u002Fprisma\u002Fskills\u002Ftree\u002FHEAD\u002Fprisma-upgrade-v7","---\nname: prisma-upgrade-v7\ndescription: Complete migration guide from Prisma ORM v6 to v7 covering all breaking changes. Use when upgrading Prisma versions, encountering v7 errors, or migrating existing projects. Triggers on \"upgrade to prisma 7\", \"prisma 7 migration\", \"prisma-client generator\", \"driver adapter required\".\nlicense: MIT\nmetadata:\n  author: prisma\n  version: \"7.6.0\"\n---\n\n# Upgrade to Prisma ORM 7\n\nComplete guide for migrating from Prisma ORM v6 to v7. This upgrade introduces significant breaking changes around the new `prisma-client` generator, driver adapters, `prisma.config.ts`, explicit environment loading, and generated client entrypoints.\n\n## When to Apply\n\nReference this skill when:\n- Upgrading from Prisma v6 to v7\n- Updating to the `prisma-client` generator\n- Setting up driver adapters\n- Configuring `prisma.config.ts`\n- Fixing import errors after upgrade\n\n## Rule Categories by Priority\n\n| Priority | Category | Impact | Prefix |\n|----------|----------|--------|--------|\n| 1 | Schema Migration | CRITICAL | `schema-changes` |\n| 2 | Database Connectivity | CRITICAL | `driver-adapters` |\n| 3 | Module System | CRITICAL | `esm-support` |\n| 4 | Config and Env | HIGH | `prisma-config`, `env-variables` |\n| 5 | Removed Features | HIGH | `removed-features` |\n| 6 | Accelerate | HIGH | `accelerate-users` |\n\n## Quick Reference\n\n- `schema-changes` - generator migration, required output paths, generated entrypoints, and `Prisma.validator` replacement\n- `driver-adapters` - required adapter installation for SQL providers, pool differences, and Prisma Postgres adapter choices\n- `esm-support` - ESM-first setup plus CommonJS fallback with `moduleFormat = \"cjs\"`\n- `prisma-config` - creating and using `prisma.config.ts`\n- `env-variables` - explicit environment loading\n- `removed-features` - removed middleware, metrics, and legacy CLI behavior\n- `accelerate-users` - migration notes for Accelerate users\n\n## Using MongoDB? This guide does not apply\n\nPrisma 7 has no MongoDB connector. Do not apply any step in this guide to a project with\n`provider = \"mongodb\"` — see the `prisma-mongodb-upgrade` skill for the actual decision\n(stay on v6 deliberately vs migrate to Prisma Next).\n\n## Important Notes\n\n- **MongoDB projects should stay on Prisma 6.x or migrate to Prisma Next** - do not migrate MongoDB apps to Prisma 7's SQL client path (see `prisma-mongodb-upgrade`)\n- **Node.js 20.19.0+** required\n- **TypeScript 5.4.0+** required\n- **Latest stable Prisma ORM version**: `7.6.0`\n\n## Upgrade Steps Overview\n\n1. Update packages to v7\n2. Choose your module format (`esm` by default, `cjs` if needed)\n3. Update TypeScript configuration\n4. Update the schema generator block\n5. Create `prisma.config.ts`\n6. Install and configure a driver adapter for SQL providers\n7. Update Prisma Client imports\n8. Update client instantiation\n9. Replace deprecated helper patterns like `Prisma.validator`\n10. Run `prisma generate` and test\n\n## Quick Upgrade Commands\n\n```bash\n# Update packages\nnpm install @prisma\u002Fclient@7\nnpm install -D prisma@7\n\n# Install a driver adapter (PostgreSQL or Prisma Postgres via direct TCP)\nnpm install @prisma\u002Fadapter-pg pg\n\n# Install dotenv for env loading\nnpm install dotenv\n\n# Regenerate client\nnpx prisma generate\n```\n\n## Breaking Changes Summary\n\n| Change | v6 | v7 |\n|--------|----|----|\n| Module format | Implicit \u002F mixed | ESM-first, `moduleFormat = \"cjs\"` supported |\n| Generator provider | `prisma-client-js` | `prisma-client` is the default, while `prisma-client-js` still exists for legacy setups |\n| Output path | Auto (node_modules) | Required explicit |\n| Driver adapters | Optional | Required for SQL providers |\n| Config file | `.env` + schema | `prisma.config.ts` |\n| Env loading | Automatic | Manual (dotenv) |\n| Generated entrypoints | Single package export | `client`, `browser`, `models`, `enums` entrypoints |\n| Type-safe query fragments | `Prisma.validator()` | TypeScript `satisfies` |\n| Middleware | `$use()` | Client Extensions |\n| Metrics | Preview feature | Removed |\n\n## Rule Files\n\nDetailed migration guides for each breaking change:\n\n```\nreferences\u002Fesm-support.md        - ESM and CommonJS configuration\nreferences\u002Fschema-changes.md     - Generator, output, imports, and generated entrypoints\nreferences\u002Fdriver-adapters.md    - Required driver adapter setup\nreferences\u002Fprisma-config.md      - New configuration file\nreferences\u002Fenv-variables.md      - Environment variable loading\nreferences\u002Fremoved-features.md   - Middleware, metrics, and CLI flags\nreferences\u002Faccelerate-users.md   - Special handling for Accelerate\n```\n\n## Step-by-Step Migration\n\n### 1. Update package.json for ESM-first projects\n\n```json\n{\n  \"type\": \"module\"\n}\n```\n\nIf you need to stay on CommonJS, keep your app as CJS and set `moduleFormat = \"cjs\"` in the generator block instead of forcing ESM.\n\n### 2. Update tsconfig.json\n\n```json\n{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"bundler\",\n    \"target\": \"ES2023\",\n    \"strict\": true,\n    \"esModuleInterop\": true\n  }\n}\n```\n\n### 3. Update schema.prisma\n\n```prisma\n\u002F\u002F Before (v6)\ngenerator client {\n  provider = \"prisma-client-js\"\n}\n\n\u002F\u002F After (v7)\ngenerator client {\n  provider = \"prisma-client\"\n  output   = \"..\u002Fgenerated\u002Fprisma\"\n  \u002F\u002F Optional if you need CommonJS:\n  \u002F\u002F moduleFormat = \"cjs\"\n}\n```\n\n### 4. Create prisma.config.ts\n\n```typescript\nimport 'dotenv\u002Fconfig'\nimport { defineConfig, env } from 'prisma\u002Fconfig'\n\nexport default defineConfig({\n  schema: 'prisma\u002Fschema.prisma',\n  migrations: {\n    path: 'prisma\u002Fmigrations',\n  },\n  datasource: {\n    url: env('DATABASE_URL'),\n  },\n})\n```\n\n### 5. Install a driver adapter (SQL providers only)\n\n```bash\n# PostgreSQL\nnpm install @prisma\u002Fadapter-pg pg\n\n# MySQL\nnpm install @prisma\u002Fadapter-mariadb mariadb\n\n# SQLite\nnpm install @prisma\u002Fadapter-better-sqlite3 better-sqlite3\n\n# Prisma Postgres in standard Node.js apps (recommended)\nnpm install @prisma\u002Fadapter-pg pg\n\n# Prisma Postgres serverless driver (edge\u002Fserverless)\nnpm install @prisma\u002Fadapter-ppg @prisma\u002Fppg\n\n# Neon\nnpm install @prisma\u002Fadapter-neon\n```\n\nMongoDB does not have a SQL `@prisma\u002Fadapter-*` package in the published Prisma 7.6.0 packages. If you're upgrading a MongoDB project, stop and keep that project on the latest Prisma 6.x release instead of following the standard Prisma 7 migration path.\n\n### 6. Update client instantiation\n\n```typescript\n\u002F\u002F Before (v6)\nimport { PrismaClient } from '@prisma\u002Fclient'\nconst prisma = new PrismaClient()\n\n\u002F\u002F After (v7)\nimport { PrismaClient } from '..\u002Fgenerated\u002Fprisma\u002Fclient'\nimport { PrismaPg } from '@prisma\u002Fadapter-pg'\n\nconst adapter = new PrismaPg({\n  connectionString: process.env.DATABASE_URL\n})\n\nconst prisma = new PrismaClient({ adapter })\n```\n\n### 7. Replace Prisma.validator with satisfies\n\n```typescript\nimport { Prisma } from '..\u002Fgenerated\u002Fprisma\u002Fclient'\n\nconst userSelect = {\n  id: true,\n  email: true,\n  name: true,\n} satisfies Prisma.UserSelect\n```\n\n### 8. Run migrations and generate\n\n```bash\nnpx prisma generate\nnpx prisma migrate dev  # if needed\n```\n\n## Troubleshooting\n\n### \"Cannot find module\" errors\n- Check that the generator `output` path matches your import path\n- Ensure `prisma generate` ran successfully\n\n### SSL certificate errors\n- Add `ssl: { rejectUnauthorized: false }` to the adapter config if you need to preserve old behavior\n- Or configure your certificates properly with `NODE_EXTRA_CA_CERTS` \u002F OpenSSL CA settings\n\n### Connection timeout issues\n- Driver adapters use the underlying driver's defaults, which differ from v6\n- Configure pool settings explicitly on the adapter if needed\n\n## Resources\n\n- [Official v7 Upgrade Guide](https:\u002F\u002Fwww.prisma.io\u002Fdocs\u002Form\u002Fmore\u002Fupgrades\u002Fto-v7)\n- [Driver Adapters Documentation](https:\u002F\u002Fwww.prisma.io\u002Fdocs\u002Form\u002Fcore-concepts\u002Fsupported-databases\u002Fdatabase-drivers)\n- [Prisma Config Reference](https:\u002F\u002Fwww.prisma.io\u002Fdocs\u002Form\u002Freference\u002Fprisma-config-reference)\n\n## How to Use\n\nFollow `references\u002Fschema-changes.md` and `references\u002Fdriver-adapters.md` first, then apply the remaining reference files based on your project setup.\n",{"data":38,"body":41},{"name":4,"description":6,"license":29,"metadata":39},{"author":8,"version":40},"7.6.0",{"type":42,"children":43},"root",[44,53,76,83,88,130,136,340,346,438,444,465,471,526,532,620,626,802,808,1088,1094,1099,1109,1115,1122,1187,1199,1205,1421,1427,1527,1533,1811,1817,2029,2042,2048,2355,2361,2518,2524,2572,2578,2584,2612,2618,2647,2653,2666,2672,2707,2713,2734],{"type":45,"tag":46,"props":47,"children":49},"element","h1",{"id":48},"upgrade-to-prisma-orm-7",[50],{"type":51,"value":52},"text","Upgrade to Prisma ORM 7",{"type":45,"tag":54,"props":55,"children":56},"p",{},[57,59,66,68,74],{"type":51,"value":58},"Complete guide for migrating from Prisma ORM v6 to v7. This upgrade introduces significant breaking changes around the new ",{"type":45,"tag":60,"props":61,"children":63},"code",{"className":62},[],[64],{"type":51,"value":65},"prisma-client",{"type":51,"value":67}," generator, driver adapters, ",{"type":45,"tag":60,"props":69,"children":71},{"className":70},[],[72],{"type":51,"value":73},"prisma.config.ts",{"type":51,"value":75},", explicit environment loading, and generated client entrypoints.",{"type":45,"tag":77,"props":78,"children":80},"h2",{"id":79},"when-to-apply",[81],{"type":51,"value":82},"When to Apply",{"type":45,"tag":54,"props":84,"children":85},{},[86],{"type":51,"value":87},"Reference this skill when:",{"type":45,"tag":89,"props":90,"children":91},"ul",{},[92,98,110,115,125],{"type":45,"tag":93,"props":94,"children":95},"li",{},[96],{"type":51,"value":97},"Upgrading from Prisma v6 to v7",{"type":45,"tag":93,"props":99,"children":100},{},[101,103,108],{"type":51,"value":102},"Updating to the ",{"type":45,"tag":60,"props":104,"children":106},{"className":105},[],[107],{"type":51,"value":65},{"type":51,"value":109}," generator",{"type":45,"tag":93,"props":111,"children":112},{},[113],{"type":51,"value":114},"Setting up driver adapters",{"type":45,"tag":93,"props":116,"children":117},{},[118,120],{"type":51,"value":119},"Configuring ",{"type":45,"tag":60,"props":121,"children":123},{"className":122},[],[124],{"type":51,"value":73},{"type":45,"tag":93,"props":126,"children":127},{},[128],{"type":51,"value":129},"Fixing import errors after upgrade",{"type":45,"tag":77,"props":131,"children":133},{"id":132},"rule-categories-by-priority",[134],{"type":51,"value":135},"Rule Categories by Priority",{"type":45,"tag":137,"props":138,"children":139},"table",{},[140,169],{"type":45,"tag":141,"props":142,"children":143},"thead",{},[144],{"type":45,"tag":145,"props":146,"children":147},"tr",{},[148,154,159,164],{"type":45,"tag":149,"props":150,"children":151},"th",{},[152],{"type":51,"value":153},"Priority",{"type":45,"tag":149,"props":155,"children":156},{},[157],{"type":51,"value":158},"Category",{"type":45,"tag":149,"props":160,"children":161},{},[162],{"type":51,"value":163},"Impact",{"type":45,"tag":149,"props":165,"children":166},{},[167],{"type":51,"value":168},"Prefix",{"type":45,"tag":170,"props":171,"children":172},"tbody",{},[173,201,227,253,288,314],{"type":45,"tag":145,"props":174,"children":175},{},[176,182,187,192],{"type":45,"tag":177,"props":178,"children":179},"td",{},[180],{"type":51,"value":181},"1",{"type":45,"tag":177,"props":183,"children":184},{},[185],{"type":51,"value":186},"Schema Migration",{"type":45,"tag":177,"props":188,"children":189},{},[190],{"type":51,"value":191},"CRITICAL",{"type":45,"tag":177,"props":193,"children":194},{},[195],{"type":45,"tag":60,"props":196,"children":198},{"className":197},[],[199],{"type":51,"value":200},"schema-changes",{"type":45,"tag":145,"props":202,"children":203},{},[204,209,214,218],{"type":45,"tag":177,"props":205,"children":206},{},[207],{"type":51,"value":208},"2",{"type":45,"tag":177,"props":210,"children":211},{},[212],{"type":51,"value":213},"Database Connectivity",{"type":45,"tag":177,"props":215,"children":216},{},[217],{"type":51,"value":191},{"type":45,"tag":177,"props":219,"children":220},{},[221],{"type":45,"tag":60,"props":222,"children":224},{"className":223},[],[225],{"type":51,"value":226},"driver-adapters",{"type":45,"tag":145,"props":228,"children":229},{},[230,235,240,244],{"type":45,"tag":177,"props":231,"children":232},{},[233],{"type":51,"value":234},"3",{"type":45,"tag":177,"props":236,"children":237},{},[238],{"type":51,"value":239},"Module System",{"type":45,"tag":177,"props":241,"children":242},{},[243],{"type":51,"value":191},{"type":45,"tag":177,"props":245,"children":246},{},[247],{"type":45,"tag":60,"props":248,"children":250},{"className":249},[],[251],{"type":51,"value":252},"esm-support",{"type":45,"tag":145,"props":254,"children":255},{},[256,261,266,271],{"type":45,"tag":177,"props":257,"children":258},{},[259],{"type":51,"value":260},"4",{"type":45,"tag":177,"props":262,"children":263},{},[264],{"type":51,"value":265},"Config and Env",{"type":45,"tag":177,"props":267,"children":268},{},[269],{"type":51,"value":270},"HIGH",{"type":45,"tag":177,"props":272,"children":273},{},[274,280,282],{"type":45,"tag":60,"props":275,"children":277},{"className":276},[],[278],{"type":51,"value":279},"prisma-config",{"type":51,"value":281},", ",{"type":45,"tag":60,"props":283,"children":285},{"className":284},[],[286],{"type":51,"value":287},"env-variables",{"type":45,"tag":145,"props":289,"children":290},{},[291,296,301,305],{"type":45,"tag":177,"props":292,"children":293},{},[294],{"type":51,"value":295},"5",{"type":45,"tag":177,"props":297,"children":298},{},[299],{"type":51,"value":300},"Removed Features",{"type":45,"tag":177,"props":302,"children":303},{},[304],{"type":51,"value":270},{"type":45,"tag":177,"props":306,"children":307},{},[308],{"type":45,"tag":60,"props":309,"children":311},{"className":310},[],[312],{"type":51,"value":313},"removed-features",{"type":45,"tag":145,"props":315,"children":316},{},[317,322,327,331],{"type":45,"tag":177,"props":318,"children":319},{},[320],{"type":51,"value":321},"6",{"type":45,"tag":177,"props":323,"children":324},{},[325],{"type":51,"value":326},"Accelerate",{"type":45,"tag":177,"props":328,"children":329},{},[330],{"type":51,"value":270},{"type":45,"tag":177,"props":332,"children":333},{},[334],{"type":45,"tag":60,"props":335,"children":337},{"className":336},[],[338],{"type":51,"value":339},"accelerate-users",{"type":45,"tag":77,"props":341,"children":343},{"id":342},"quick-reference",[344],{"type":51,"value":345},"Quick Reference",{"type":45,"tag":89,"props":347,"children":348},{},[349,367,377,393,408,418,428],{"type":45,"tag":93,"props":350,"children":351},{},[352,357,359,365],{"type":45,"tag":60,"props":353,"children":355},{"className":354},[],[356],{"type":51,"value":200},{"type":51,"value":358}," - generator migration, required output paths, generated entrypoints, and ",{"type":45,"tag":60,"props":360,"children":362},{"className":361},[],[363],{"type":51,"value":364},"Prisma.validator",{"type":51,"value":366}," replacement",{"type":45,"tag":93,"props":368,"children":369},{},[370,375],{"type":45,"tag":60,"props":371,"children":373},{"className":372},[],[374],{"type":51,"value":226},{"type":51,"value":376}," - required adapter installation for SQL providers, pool differences, and Prisma Postgres adapter choices",{"type":45,"tag":93,"props":378,"children":379},{},[380,385,387],{"type":45,"tag":60,"props":381,"children":383},{"className":382},[],[384],{"type":51,"value":252},{"type":51,"value":386}," - ESM-first setup plus CommonJS fallback with ",{"type":45,"tag":60,"props":388,"children":390},{"className":389},[],[391],{"type":51,"value":392},"moduleFormat = \"cjs\"",{"type":45,"tag":93,"props":394,"children":395},{},[396,401,403],{"type":45,"tag":60,"props":397,"children":399},{"className":398},[],[400],{"type":51,"value":279},{"type":51,"value":402}," - creating and using ",{"type":45,"tag":60,"props":404,"children":406},{"className":405},[],[407],{"type":51,"value":73},{"type":45,"tag":93,"props":409,"children":410},{},[411,416],{"type":45,"tag":60,"props":412,"children":414},{"className":413},[],[415],{"type":51,"value":287},{"type":51,"value":417}," - explicit environment loading",{"type":45,"tag":93,"props":419,"children":420},{},[421,426],{"type":45,"tag":60,"props":422,"children":424},{"className":423},[],[425],{"type":51,"value":313},{"type":51,"value":427}," - removed middleware, metrics, and legacy CLI behavior",{"type":45,"tag":93,"props":429,"children":430},{},[431,436],{"type":45,"tag":60,"props":432,"children":434},{"className":433},[],[435],{"type":51,"value":339},{"type":51,"value":437}," - migration notes for Accelerate users",{"type":45,"tag":77,"props":439,"children":441},{"id":440},"using-mongodb-this-guide-does-not-apply",[442],{"type":51,"value":443},"Using MongoDB? This guide does not apply",{"type":45,"tag":54,"props":445,"children":446},{},[447,449,455,457,463],{"type":51,"value":448},"Prisma 7 has no MongoDB connector. Do not apply any step in this guide to a project with\n",{"type":45,"tag":60,"props":450,"children":452},{"className":451},[],[453],{"type":51,"value":454},"provider = \"mongodb\"",{"type":51,"value":456}," — see the ",{"type":45,"tag":60,"props":458,"children":460},{"className":459},[],[461],{"type":51,"value":462},"prisma-mongodb-upgrade",{"type":51,"value":464}," skill for the actual decision\n(stay on v6 deliberately vs migrate to Prisma Next).",{"type":45,"tag":77,"props":466,"children":468},{"id":467},"important-notes",[469],{"type":51,"value":470},"Important Notes",{"type":45,"tag":89,"props":472,"children":473},{},[474,492,502,511],{"type":45,"tag":93,"props":475,"children":476},{},[477,483,485,490],{"type":45,"tag":478,"props":479,"children":480},"strong",{},[481],{"type":51,"value":482},"MongoDB projects should stay on Prisma 6.x or migrate to Prisma Next",{"type":51,"value":484}," - do not migrate MongoDB apps to Prisma 7's SQL client path (see ",{"type":45,"tag":60,"props":486,"children":488},{"className":487},[],[489],{"type":51,"value":462},{"type":51,"value":491},")",{"type":45,"tag":93,"props":493,"children":494},{},[495,500],{"type":45,"tag":478,"props":496,"children":497},{},[498],{"type":51,"value":499},"Node.js 20.19.0+",{"type":51,"value":501}," required",{"type":45,"tag":93,"props":503,"children":504},{},[505,510],{"type":45,"tag":478,"props":506,"children":507},{},[508],{"type":51,"value":509},"TypeScript 5.4.0+",{"type":51,"value":501},{"type":45,"tag":93,"props":512,"children":513},{},[514,519,521],{"type":45,"tag":478,"props":515,"children":516},{},[517],{"type":51,"value":518},"Latest stable Prisma ORM version",{"type":51,"value":520},": ",{"type":45,"tag":60,"props":522,"children":524},{"className":523},[],[525],{"type":51,"value":40},{"type":45,"tag":77,"props":527,"children":529},{"id":528},"upgrade-steps-overview",[530],{"type":51,"value":531},"Upgrade Steps Overview",{"type":45,"tag":533,"props":534,"children":535},"ol",{},[536,541,562,567,572,582,587,592,597,607],{"type":45,"tag":93,"props":537,"children":538},{},[539],{"type":51,"value":540},"Update packages to v7",{"type":45,"tag":93,"props":542,"children":543},{},[544,546,552,554,560],{"type":51,"value":545},"Choose your module format (",{"type":45,"tag":60,"props":547,"children":549},{"className":548},[],[550],{"type":51,"value":551},"esm",{"type":51,"value":553}," by default, ",{"type":45,"tag":60,"props":555,"children":557},{"className":556},[],[558],{"type":51,"value":559},"cjs",{"type":51,"value":561}," if needed)",{"type":45,"tag":93,"props":563,"children":564},{},[565],{"type":51,"value":566},"Update TypeScript configuration",{"type":45,"tag":93,"props":568,"children":569},{},[570],{"type":51,"value":571},"Update the schema generator block",{"type":45,"tag":93,"props":573,"children":574},{},[575,577],{"type":51,"value":576},"Create ",{"type":45,"tag":60,"props":578,"children":580},{"className":579},[],[581],{"type":51,"value":73},{"type":45,"tag":93,"props":583,"children":584},{},[585],{"type":51,"value":586},"Install and configure a driver adapter for SQL providers",{"type":45,"tag":93,"props":588,"children":589},{},[590],{"type":51,"value":591},"Update Prisma Client imports",{"type":45,"tag":93,"props":593,"children":594},{},[595],{"type":51,"value":596},"Update client instantiation",{"type":45,"tag":93,"props":598,"children":599},{},[600,602],{"type":51,"value":601},"Replace deprecated helper patterns like ",{"type":45,"tag":60,"props":603,"children":605},{"className":604},[],[606],{"type":51,"value":364},{"type":45,"tag":93,"props":608,"children":609},{},[610,612,618],{"type":51,"value":611},"Run ",{"type":45,"tag":60,"props":613,"children":615},{"className":614},[],[616],{"type":51,"value":617},"prisma generate",{"type":51,"value":619}," and test",{"type":45,"tag":77,"props":621,"children":623},{"id":622},"quick-upgrade-commands",[624],{"type":51,"value":625},"Quick Upgrade Commands",{"type":45,"tag":627,"props":628,"children":633},"pre",{"className":629,"code":630,"language":631,"meta":632,"style":632},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Update packages\nnpm install @prisma\u002Fclient@7\nnpm install -D prisma@7\n\n# Install a driver adapter (PostgreSQL or Prisma Postgres via direct TCP)\nnpm install @prisma\u002Fadapter-pg pg\n\n# Install dotenv for env loading\nnpm install dotenv\n\n# Regenerate client\nnpx prisma generate\n","bash","",[634],{"type":45,"tag":60,"props":635,"children":636},{"__ignoreMap":632},[637,649,670,691,701,710,732,740,749,766,774,783],{"type":45,"tag":638,"props":639,"children":642},"span",{"class":640,"line":641},"line",1,[643],{"type":45,"tag":638,"props":644,"children":646},{"style":645},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[647],{"type":51,"value":648},"# Update packages\n",{"type":45,"tag":638,"props":650,"children":652},{"class":640,"line":651},2,[653,659,665],{"type":45,"tag":638,"props":654,"children":656},{"style":655},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[657],{"type":51,"value":658},"npm",{"type":45,"tag":638,"props":660,"children":662},{"style":661},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[663],{"type":51,"value":664}," install",{"type":45,"tag":638,"props":666,"children":667},{"style":661},[668],{"type":51,"value":669}," @prisma\u002Fclient@7\n",{"type":45,"tag":638,"props":671,"children":672},{"class":640,"line":30},[673,677,681,686],{"type":45,"tag":638,"props":674,"children":675},{"style":655},[676],{"type":51,"value":658},{"type":45,"tag":638,"props":678,"children":679},{"style":661},[680],{"type":51,"value":664},{"type":45,"tag":638,"props":682,"children":683},{"style":661},[684],{"type":51,"value":685}," -D",{"type":45,"tag":638,"props":687,"children":688},{"style":661},[689],{"type":51,"value":690}," prisma@7\n",{"type":45,"tag":638,"props":692,"children":694},{"class":640,"line":693},4,[695],{"type":45,"tag":638,"props":696,"children":698},{"emptyLinePlaceholder":697},true,[699],{"type":51,"value":700},"\n",{"type":45,"tag":638,"props":702,"children":704},{"class":640,"line":703},5,[705],{"type":45,"tag":638,"props":706,"children":707},{"style":645},[708],{"type":51,"value":709},"# Install a driver adapter (PostgreSQL or Prisma Postgres via direct TCP)\n",{"type":45,"tag":638,"props":711,"children":713},{"class":640,"line":712},6,[714,718,722,727],{"type":45,"tag":638,"props":715,"children":716},{"style":655},[717],{"type":51,"value":658},{"type":45,"tag":638,"props":719,"children":720},{"style":661},[721],{"type":51,"value":664},{"type":45,"tag":638,"props":723,"children":724},{"style":661},[725],{"type":51,"value":726}," @prisma\u002Fadapter-pg",{"type":45,"tag":638,"props":728,"children":729},{"style":661},[730],{"type":51,"value":731}," pg\n",{"type":45,"tag":638,"props":733,"children":735},{"class":640,"line":734},7,[736],{"type":45,"tag":638,"props":737,"children":738},{"emptyLinePlaceholder":697},[739],{"type":51,"value":700},{"type":45,"tag":638,"props":741,"children":743},{"class":640,"line":742},8,[744],{"type":45,"tag":638,"props":745,"children":746},{"style":645},[747],{"type":51,"value":748},"# Install dotenv for env loading\n",{"type":45,"tag":638,"props":750,"children":752},{"class":640,"line":751},9,[753,757,761],{"type":45,"tag":638,"props":754,"children":755},{"style":655},[756],{"type":51,"value":658},{"type":45,"tag":638,"props":758,"children":759},{"style":661},[760],{"type":51,"value":664},{"type":45,"tag":638,"props":762,"children":763},{"style":661},[764],{"type":51,"value":765}," dotenv\n",{"type":45,"tag":638,"props":767,"children":769},{"class":640,"line":768},10,[770],{"type":45,"tag":638,"props":771,"children":772},{"emptyLinePlaceholder":697},[773],{"type":51,"value":700},{"type":45,"tag":638,"props":775,"children":777},{"class":640,"line":776},11,[778],{"type":45,"tag":638,"props":779,"children":780},{"style":645},[781],{"type":51,"value":782},"# Regenerate client\n",{"type":45,"tag":638,"props":784,"children":786},{"class":640,"line":785},12,[787,792,797],{"type":45,"tag":638,"props":788,"children":789},{"style":655},[790],{"type":51,"value":791},"npx",{"type":45,"tag":638,"props":793,"children":794},{"style":661},[795],{"type":51,"value":796}," prisma",{"type":45,"tag":638,"props":798,"children":799},{"style":661},[800],{"type":51,"value":801}," generate\n",{"type":45,"tag":77,"props":803,"children":805},{"id":804},"breaking-changes-summary",[806],{"type":51,"value":807},"Breaking Changes Summary",{"type":45,"tag":137,"props":809,"children":810},{},[811,832],{"type":45,"tag":141,"props":812,"children":813},{},[814],{"type":45,"tag":145,"props":815,"children":816},{},[817,822,827],{"type":45,"tag":149,"props":818,"children":819},{},[820],{"type":51,"value":821},"Change",{"type":45,"tag":149,"props":823,"children":824},{},[825],{"type":51,"value":826},"v6",{"type":45,"tag":149,"props":828,"children":829},{},[830],{"type":51,"value":831},"v7",{"type":45,"tag":170,"props":833,"children":834},{},[835,860,894,912,930,957,975,1020,1048,1070],{"type":45,"tag":145,"props":836,"children":837},{},[838,843,848],{"type":45,"tag":177,"props":839,"children":840},{},[841],{"type":51,"value":842},"Module format",{"type":45,"tag":177,"props":844,"children":845},{},[846],{"type":51,"value":847},"Implicit \u002F mixed",{"type":45,"tag":177,"props":849,"children":850},{},[851,853,858],{"type":51,"value":852},"ESM-first, ",{"type":45,"tag":60,"props":854,"children":856},{"className":855},[],[857],{"type":51,"value":392},{"type":51,"value":859}," supported",{"type":45,"tag":145,"props":861,"children":862},{},[863,868,877],{"type":45,"tag":177,"props":864,"children":865},{},[866],{"type":51,"value":867},"Generator provider",{"type":45,"tag":177,"props":869,"children":870},{},[871],{"type":45,"tag":60,"props":872,"children":874},{"className":873},[],[875],{"type":51,"value":876},"prisma-client-js",{"type":45,"tag":177,"props":878,"children":879},{},[880,885,887,892],{"type":45,"tag":60,"props":881,"children":883},{"className":882},[],[884],{"type":51,"value":65},{"type":51,"value":886}," is the default, while ",{"type":45,"tag":60,"props":888,"children":890},{"className":889},[],[891],{"type":51,"value":876},{"type":51,"value":893}," still exists for legacy setups",{"type":45,"tag":145,"props":895,"children":896},{},[897,902,907],{"type":45,"tag":177,"props":898,"children":899},{},[900],{"type":51,"value":901},"Output path",{"type":45,"tag":177,"props":903,"children":904},{},[905],{"type":51,"value":906},"Auto (node_modules)",{"type":45,"tag":177,"props":908,"children":909},{},[910],{"type":51,"value":911},"Required explicit",{"type":45,"tag":145,"props":913,"children":914},{},[915,920,925],{"type":45,"tag":177,"props":916,"children":917},{},[918],{"type":51,"value":919},"Driver adapters",{"type":45,"tag":177,"props":921,"children":922},{},[923],{"type":51,"value":924},"Optional",{"type":45,"tag":177,"props":926,"children":927},{},[928],{"type":51,"value":929},"Required for SQL providers",{"type":45,"tag":145,"props":931,"children":932},{},[933,938,949],{"type":45,"tag":177,"props":934,"children":935},{},[936],{"type":51,"value":937},"Config file",{"type":45,"tag":177,"props":939,"children":940},{},[941,947],{"type":45,"tag":60,"props":942,"children":944},{"className":943},[],[945],{"type":51,"value":946},".env",{"type":51,"value":948}," + schema",{"type":45,"tag":177,"props":950,"children":951},{},[952],{"type":45,"tag":60,"props":953,"children":955},{"className":954},[],[956],{"type":51,"value":73},{"type":45,"tag":145,"props":958,"children":959},{},[960,965,970],{"type":45,"tag":177,"props":961,"children":962},{},[963],{"type":51,"value":964},"Env loading",{"type":45,"tag":177,"props":966,"children":967},{},[968],{"type":51,"value":969},"Automatic",{"type":45,"tag":177,"props":971,"children":972},{},[973],{"type":51,"value":974},"Manual (dotenv)",{"type":45,"tag":145,"props":976,"children":977},{},[978,983,988],{"type":45,"tag":177,"props":979,"children":980},{},[981],{"type":51,"value":982},"Generated entrypoints",{"type":45,"tag":177,"props":984,"children":985},{},[986],{"type":51,"value":987},"Single package export",{"type":45,"tag":177,"props":989,"children":990},{},[991,997,998,1004,1005,1011,1012,1018],{"type":45,"tag":60,"props":992,"children":994},{"className":993},[],[995],{"type":51,"value":996},"client",{"type":51,"value":281},{"type":45,"tag":60,"props":999,"children":1001},{"className":1000},[],[1002],{"type":51,"value":1003},"browser",{"type":51,"value":281},{"type":45,"tag":60,"props":1006,"children":1008},{"className":1007},[],[1009],{"type":51,"value":1010},"models",{"type":51,"value":281},{"type":45,"tag":60,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":51,"value":1017},"enums",{"type":51,"value":1019}," entrypoints",{"type":45,"tag":145,"props":1021,"children":1022},{},[1023,1028,1037],{"type":45,"tag":177,"props":1024,"children":1025},{},[1026],{"type":51,"value":1027},"Type-safe query fragments",{"type":45,"tag":177,"props":1029,"children":1030},{},[1031],{"type":45,"tag":60,"props":1032,"children":1034},{"className":1033},[],[1035],{"type":51,"value":1036},"Prisma.validator()",{"type":45,"tag":177,"props":1038,"children":1039},{},[1040,1042],{"type":51,"value":1041},"TypeScript ",{"type":45,"tag":60,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":51,"value":1047},"satisfies",{"type":45,"tag":145,"props":1049,"children":1050},{},[1051,1056,1065],{"type":45,"tag":177,"props":1052,"children":1053},{},[1054],{"type":51,"value":1055},"Middleware",{"type":45,"tag":177,"props":1057,"children":1058},{},[1059],{"type":45,"tag":60,"props":1060,"children":1062},{"className":1061},[],[1063],{"type":51,"value":1064},"$use()",{"type":45,"tag":177,"props":1066,"children":1067},{},[1068],{"type":51,"value":1069},"Client Extensions",{"type":45,"tag":145,"props":1071,"children":1072},{},[1073,1078,1083],{"type":45,"tag":177,"props":1074,"children":1075},{},[1076],{"type":51,"value":1077},"Metrics",{"type":45,"tag":177,"props":1079,"children":1080},{},[1081],{"type":51,"value":1082},"Preview feature",{"type":45,"tag":177,"props":1084,"children":1085},{},[1086],{"type":51,"value":1087},"Removed",{"type":45,"tag":77,"props":1089,"children":1091},{"id":1090},"rule-files",[1092],{"type":51,"value":1093},"Rule Files",{"type":45,"tag":54,"props":1095,"children":1096},{},[1097],{"type":51,"value":1098},"Detailed migration guides for each breaking change:",{"type":45,"tag":627,"props":1100,"children":1104},{"className":1101,"code":1103,"language":51},[1102],"language-text","references\u002Fesm-support.md        - ESM and CommonJS configuration\nreferences\u002Fschema-changes.md     - Generator, output, imports, and generated entrypoints\nreferences\u002Fdriver-adapters.md    - Required driver adapter setup\nreferences\u002Fprisma-config.md      - New configuration file\nreferences\u002Fenv-variables.md      - Environment variable loading\nreferences\u002Fremoved-features.md   - Middleware, metrics, and CLI flags\nreferences\u002Faccelerate-users.md   - Special handling for Accelerate\n",[1105],{"type":45,"tag":60,"props":1106,"children":1107},{"__ignoreMap":632},[1108],{"type":51,"value":1103},{"type":45,"tag":77,"props":1110,"children":1112},{"id":1111},"step-by-step-migration",[1113],{"type":51,"value":1114},"Step-by-Step Migration",{"type":45,"tag":1116,"props":1117,"children":1119},"h3",{"id":1118},"_1-update-packagejson-for-esm-first-projects",[1120],{"type":51,"value":1121},"1. Update package.json for ESM-first projects",{"type":45,"tag":627,"props":1123,"children":1127},{"className":1124,"code":1125,"language":1126,"meta":632,"style":632},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"type\": \"module\"\n}\n","json",[1128],{"type":45,"tag":60,"props":1129,"children":1130},{"__ignoreMap":632},[1131,1140,1179],{"type":45,"tag":638,"props":1132,"children":1133},{"class":640,"line":641},[1134],{"type":45,"tag":638,"props":1135,"children":1137},{"style":1136},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1138],{"type":51,"value":1139},"{\n",{"type":45,"tag":638,"props":1141,"children":1142},{"class":640,"line":651},[1143,1148,1154,1159,1164,1169,1174],{"type":45,"tag":638,"props":1144,"children":1145},{"style":1136},[1146],{"type":51,"value":1147},"  \"",{"type":45,"tag":638,"props":1149,"children":1151},{"style":1150},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1152],{"type":51,"value":1153},"type",{"type":45,"tag":638,"props":1155,"children":1156},{"style":1136},[1157],{"type":51,"value":1158},"\"",{"type":45,"tag":638,"props":1160,"children":1161},{"style":1136},[1162],{"type":51,"value":1163},":",{"type":45,"tag":638,"props":1165,"children":1166},{"style":1136},[1167],{"type":51,"value":1168}," \"",{"type":45,"tag":638,"props":1170,"children":1171},{"style":661},[1172],{"type":51,"value":1173},"module",{"type":45,"tag":638,"props":1175,"children":1176},{"style":1136},[1177],{"type":51,"value":1178},"\"\n",{"type":45,"tag":638,"props":1180,"children":1181},{"class":640,"line":30},[1182],{"type":45,"tag":638,"props":1183,"children":1184},{"style":1136},[1185],{"type":51,"value":1186},"}\n",{"type":45,"tag":54,"props":1188,"children":1189},{},[1190,1192,1197],{"type":51,"value":1191},"If you need to stay on CommonJS, keep your app as CJS and set ",{"type":45,"tag":60,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":51,"value":392},{"type":51,"value":1198}," in the generator block instead of forcing ESM.",{"type":45,"tag":1116,"props":1200,"children":1202},{"id":1201},"_2-update-tsconfigjson",[1203],{"type":51,"value":1204},"2. Update tsconfig.json",{"type":45,"tag":627,"props":1206,"children":1208},{"className":1124,"code":1207,"language":1126,"meta":632,"style":632},"{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"bundler\",\n    \"target\": \"ES2023\",\n    \"strict\": true,\n    \"esModuleInterop\": true\n  }\n}\n",[1209],{"type":45,"tag":60,"props":1210,"children":1211},{"__ignoreMap":632},[1212,1219,1244,1282,1319,1356,1381,1406,1414],{"type":45,"tag":638,"props":1213,"children":1214},{"class":640,"line":641},[1215],{"type":45,"tag":638,"props":1216,"children":1217},{"style":1136},[1218],{"type":51,"value":1139},{"type":45,"tag":638,"props":1220,"children":1221},{"class":640,"line":651},[1222,1226,1231,1235,1239],{"type":45,"tag":638,"props":1223,"children":1224},{"style":1136},[1225],{"type":51,"value":1147},{"type":45,"tag":638,"props":1227,"children":1228},{"style":1150},[1229],{"type":51,"value":1230},"compilerOptions",{"type":45,"tag":638,"props":1232,"children":1233},{"style":1136},[1234],{"type":51,"value":1158},{"type":45,"tag":638,"props":1236,"children":1237},{"style":1136},[1238],{"type":51,"value":1163},{"type":45,"tag":638,"props":1240,"children":1241},{"style":1136},[1242],{"type":51,"value":1243}," {\n",{"type":45,"tag":638,"props":1245,"children":1246},{"class":640,"line":30},[1247,1252,1256,1260,1264,1268,1273,1277],{"type":45,"tag":638,"props":1248,"children":1249},{"style":1136},[1250],{"type":51,"value":1251},"    \"",{"type":45,"tag":638,"props":1253,"children":1254},{"style":655},[1255],{"type":51,"value":1173},{"type":45,"tag":638,"props":1257,"children":1258},{"style":1136},[1259],{"type":51,"value":1158},{"type":45,"tag":638,"props":1261,"children":1262},{"style":1136},[1263],{"type":51,"value":1163},{"type":45,"tag":638,"props":1265,"children":1266},{"style":1136},[1267],{"type":51,"value":1168},{"type":45,"tag":638,"props":1269,"children":1270},{"style":661},[1271],{"type":51,"value":1272},"ESNext",{"type":45,"tag":638,"props":1274,"children":1275},{"style":1136},[1276],{"type":51,"value":1158},{"type":45,"tag":638,"props":1278,"children":1279},{"style":1136},[1280],{"type":51,"value":1281},",\n",{"type":45,"tag":638,"props":1283,"children":1284},{"class":640,"line":693},[1285,1289,1294,1298,1302,1306,1311,1315],{"type":45,"tag":638,"props":1286,"children":1287},{"style":1136},[1288],{"type":51,"value":1251},{"type":45,"tag":638,"props":1290,"children":1291},{"style":655},[1292],{"type":51,"value":1293},"moduleResolution",{"type":45,"tag":638,"props":1295,"children":1296},{"style":1136},[1297],{"type":51,"value":1158},{"type":45,"tag":638,"props":1299,"children":1300},{"style":1136},[1301],{"type":51,"value":1163},{"type":45,"tag":638,"props":1303,"children":1304},{"style":1136},[1305],{"type":51,"value":1168},{"type":45,"tag":638,"props":1307,"children":1308},{"style":661},[1309],{"type":51,"value":1310},"bundler",{"type":45,"tag":638,"props":1312,"children":1313},{"style":1136},[1314],{"type":51,"value":1158},{"type":45,"tag":638,"props":1316,"children":1317},{"style":1136},[1318],{"type":51,"value":1281},{"type":45,"tag":638,"props":1320,"children":1321},{"class":640,"line":703},[1322,1326,1331,1335,1339,1343,1348,1352],{"type":45,"tag":638,"props":1323,"children":1324},{"style":1136},[1325],{"type":51,"value":1251},{"type":45,"tag":638,"props":1327,"children":1328},{"style":655},[1329],{"type":51,"value":1330},"target",{"type":45,"tag":638,"props":1332,"children":1333},{"style":1136},[1334],{"type":51,"value":1158},{"type":45,"tag":638,"props":1336,"children":1337},{"style":1136},[1338],{"type":51,"value":1163},{"type":45,"tag":638,"props":1340,"children":1341},{"style":1136},[1342],{"type":51,"value":1168},{"type":45,"tag":638,"props":1344,"children":1345},{"style":661},[1346],{"type":51,"value":1347},"ES2023",{"type":45,"tag":638,"props":1349,"children":1350},{"style":1136},[1351],{"type":51,"value":1158},{"type":45,"tag":638,"props":1353,"children":1354},{"style":1136},[1355],{"type":51,"value":1281},{"type":45,"tag":638,"props":1357,"children":1358},{"class":640,"line":712},[1359,1363,1368,1372,1376],{"type":45,"tag":638,"props":1360,"children":1361},{"style":1136},[1362],{"type":51,"value":1251},{"type":45,"tag":638,"props":1364,"children":1365},{"style":655},[1366],{"type":51,"value":1367},"strict",{"type":45,"tag":638,"props":1369,"children":1370},{"style":1136},[1371],{"type":51,"value":1158},{"type":45,"tag":638,"props":1373,"children":1374},{"style":1136},[1375],{"type":51,"value":1163},{"type":45,"tag":638,"props":1377,"children":1378},{"style":1136},[1379],{"type":51,"value":1380}," true,\n",{"type":45,"tag":638,"props":1382,"children":1383},{"class":640,"line":734},[1384,1388,1393,1397,1401],{"type":45,"tag":638,"props":1385,"children":1386},{"style":1136},[1387],{"type":51,"value":1251},{"type":45,"tag":638,"props":1389,"children":1390},{"style":655},[1391],{"type":51,"value":1392},"esModuleInterop",{"type":45,"tag":638,"props":1394,"children":1395},{"style":1136},[1396],{"type":51,"value":1158},{"type":45,"tag":638,"props":1398,"children":1399},{"style":1136},[1400],{"type":51,"value":1163},{"type":45,"tag":638,"props":1402,"children":1403},{"style":1136},[1404],{"type":51,"value":1405}," true\n",{"type":45,"tag":638,"props":1407,"children":1408},{"class":640,"line":742},[1409],{"type":45,"tag":638,"props":1410,"children":1411},{"style":1136},[1412],{"type":51,"value":1413},"  }\n",{"type":45,"tag":638,"props":1415,"children":1416},{"class":640,"line":751},[1417],{"type":45,"tag":638,"props":1418,"children":1419},{"style":1136},[1420],{"type":51,"value":1186},{"type":45,"tag":1116,"props":1422,"children":1424},{"id":1423},"_3-update-schemaprisma",[1425],{"type":51,"value":1426},"3. Update schema.prisma",{"type":45,"tag":627,"props":1428,"children":1431},{"className":1429,"code":1430,"language":8,"meta":632,"style":632},"language-prisma shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Before (v6)\ngenerator client {\n  provider = \"prisma-client-js\"\n}\n\n\u002F\u002F After (v7)\ngenerator client {\n  provider = \"prisma-client\"\n  output   = \"..\u002Fgenerated\u002Fprisma\"\n  \u002F\u002F Optional if you need CommonJS:\n  \u002F\u002F moduleFormat = \"cjs\"\n}\n",[1432],{"type":45,"tag":60,"props":1433,"children":1434},{"__ignoreMap":632},[1435,1443,1451,1459,1466,1473,1481,1488,1496,1504,1512,1520],{"type":45,"tag":638,"props":1436,"children":1437},{"class":640,"line":641},[1438],{"type":45,"tag":638,"props":1439,"children":1440},{},[1441],{"type":51,"value":1442},"\u002F\u002F Before (v6)\n",{"type":45,"tag":638,"props":1444,"children":1445},{"class":640,"line":651},[1446],{"type":45,"tag":638,"props":1447,"children":1448},{},[1449],{"type":51,"value":1450},"generator client {\n",{"type":45,"tag":638,"props":1452,"children":1453},{"class":640,"line":30},[1454],{"type":45,"tag":638,"props":1455,"children":1456},{},[1457],{"type":51,"value":1458},"  provider = \"prisma-client-js\"\n",{"type":45,"tag":638,"props":1460,"children":1461},{"class":640,"line":693},[1462],{"type":45,"tag":638,"props":1463,"children":1464},{},[1465],{"type":51,"value":1186},{"type":45,"tag":638,"props":1467,"children":1468},{"class":640,"line":703},[1469],{"type":45,"tag":638,"props":1470,"children":1471},{"emptyLinePlaceholder":697},[1472],{"type":51,"value":700},{"type":45,"tag":638,"props":1474,"children":1475},{"class":640,"line":712},[1476],{"type":45,"tag":638,"props":1477,"children":1478},{},[1479],{"type":51,"value":1480},"\u002F\u002F After (v7)\n",{"type":45,"tag":638,"props":1482,"children":1483},{"class":640,"line":734},[1484],{"type":45,"tag":638,"props":1485,"children":1486},{},[1487],{"type":51,"value":1450},{"type":45,"tag":638,"props":1489,"children":1490},{"class":640,"line":742},[1491],{"type":45,"tag":638,"props":1492,"children":1493},{},[1494],{"type":51,"value":1495},"  provider = \"prisma-client\"\n",{"type":45,"tag":638,"props":1497,"children":1498},{"class":640,"line":751},[1499],{"type":45,"tag":638,"props":1500,"children":1501},{},[1502],{"type":51,"value":1503},"  output   = \"..\u002Fgenerated\u002Fprisma\"\n",{"type":45,"tag":638,"props":1505,"children":1506},{"class":640,"line":768},[1507],{"type":45,"tag":638,"props":1508,"children":1509},{},[1510],{"type":51,"value":1511},"  \u002F\u002F Optional if you need CommonJS:\n",{"type":45,"tag":638,"props":1513,"children":1514},{"class":640,"line":776},[1515],{"type":45,"tag":638,"props":1516,"children":1517},{},[1518],{"type":51,"value":1519},"  \u002F\u002F moduleFormat = \"cjs\"\n",{"type":45,"tag":638,"props":1521,"children":1522},{"class":640,"line":785},[1523],{"type":45,"tag":638,"props":1524,"children":1525},{},[1526],{"type":51,"value":1186},{"type":45,"tag":1116,"props":1528,"children":1530},{"id":1529},"_4-create-prismaconfigts",[1531],{"type":51,"value":1532},"4. Create prisma.config.ts",{"type":45,"tag":627,"props":1534,"children":1537},{"className":1535,"code":1536,"language":14,"meta":632,"style":632},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import 'dotenv\u002Fconfig'\nimport { defineConfig, env } from 'prisma\u002Fconfig'\n\nexport default defineConfig({\n  schema: 'prisma\u002Fschema.prisma',\n  migrations: {\n    path: 'prisma\u002Fmigrations',\n  },\n  datasource: {\n    url: env('DATABASE_URL'),\n  },\n})\n",[1538],{"type":45,"tag":60,"props":1539,"children":1540},{"__ignoreMap":632},[1541,1565,1616,1623,1650,1681,1697,1726,1734,1750,1791,1798],{"type":45,"tag":638,"props":1542,"children":1543},{"class":640,"line":641},[1544,1550,1555,1560],{"type":45,"tag":638,"props":1545,"children":1547},{"style":1546},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1548],{"type":51,"value":1549},"import",{"type":45,"tag":638,"props":1551,"children":1552},{"style":1136},[1553],{"type":51,"value":1554}," '",{"type":45,"tag":638,"props":1556,"children":1557},{"style":661},[1558],{"type":51,"value":1559},"dotenv\u002Fconfig",{"type":45,"tag":638,"props":1561,"children":1562},{"style":1136},[1563],{"type":51,"value":1564},"'\n",{"type":45,"tag":638,"props":1566,"children":1567},{"class":640,"line":651},[1568,1572,1577,1583,1588,1593,1598,1603,1607,1612],{"type":45,"tag":638,"props":1569,"children":1570},{"style":1546},[1571],{"type":51,"value":1549},{"type":45,"tag":638,"props":1573,"children":1574},{"style":1136},[1575],{"type":51,"value":1576}," {",{"type":45,"tag":638,"props":1578,"children":1580},{"style":1579},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1581],{"type":51,"value":1582}," defineConfig",{"type":45,"tag":638,"props":1584,"children":1585},{"style":1136},[1586],{"type":51,"value":1587},",",{"type":45,"tag":638,"props":1589,"children":1590},{"style":1579},[1591],{"type":51,"value":1592}," env",{"type":45,"tag":638,"props":1594,"children":1595},{"style":1136},[1596],{"type":51,"value":1597}," }",{"type":45,"tag":638,"props":1599,"children":1600},{"style":1546},[1601],{"type":51,"value":1602}," from",{"type":45,"tag":638,"props":1604,"children":1605},{"style":1136},[1606],{"type":51,"value":1554},{"type":45,"tag":638,"props":1608,"children":1609},{"style":661},[1610],{"type":51,"value":1611},"prisma\u002Fconfig",{"type":45,"tag":638,"props":1613,"children":1614},{"style":1136},[1615],{"type":51,"value":1564},{"type":45,"tag":638,"props":1617,"children":1618},{"class":640,"line":30},[1619],{"type":45,"tag":638,"props":1620,"children":1621},{"emptyLinePlaceholder":697},[1622],{"type":51,"value":700},{"type":45,"tag":638,"props":1624,"children":1625},{"class":640,"line":693},[1626,1631,1636,1641,1646],{"type":45,"tag":638,"props":1627,"children":1628},{"style":1546},[1629],{"type":51,"value":1630},"export",{"type":45,"tag":638,"props":1632,"children":1633},{"style":1546},[1634],{"type":51,"value":1635}," default",{"type":45,"tag":638,"props":1637,"children":1639},{"style":1638},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1640],{"type":51,"value":1582},{"type":45,"tag":638,"props":1642,"children":1643},{"style":1579},[1644],{"type":51,"value":1645},"(",{"type":45,"tag":638,"props":1647,"children":1648},{"style":1136},[1649],{"type":51,"value":1139},{"type":45,"tag":638,"props":1651,"children":1652},{"class":640,"line":703},[1653,1659,1663,1667,1672,1677],{"type":45,"tag":638,"props":1654,"children":1656},{"style":1655},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1657],{"type":51,"value":1658},"  schema",{"type":45,"tag":638,"props":1660,"children":1661},{"style":1136},[1662],{"type":51,"value":1163},{"type":45,"tag":638,"props":1664,"children":1665},{"style":1136},[1666],{"type":51,"value":1554},{"type":45,"tag":638,"props":1668,"children":1669},{"style":661},[1670],{"type":51,"value":1671},"prisma\u002Fschema.prisma",{"type":45,"tag":638,"props":1673,"children":1674},{"style":1136},[1675],{"type":51,"value":1676},"'",{"type":45,"tag":638,"props":1678,"children":1679},{"style":1136},[1680],{"type":51,"value":1281},{"type":45,"tag":638,"props":1682,"children":1683},{"class":640,"line":712},[1684,1689,1693],{"type":45,"tag":638,"props":1685,"children":1686},{"style":1655},[1687],{"type":51,"value":1688},"  migrations",{"type":45,"tag":638,"props":1690,"children":1691},{"style":1136},[1692],{"type":51,"value":1163},{"type":45,"tag":638,"props":1694,"children":1695},{"style":1136},[1696],{"type":51,"value":1243},{"type":45,"tag":638,"props":1698,"children":1699},{"class":640,"line":734},[1700,1705,1709,1713,1718,1722],{"type":45,"tag":638,"props":1701,"children":1702},{"style":1655},[1703],{"type":51,"value":1704},"    path",{"type":45,"tag":638,"props":1706,"children":1707},{"style":1136},[1708],{"type":51,"value":1163},{"type":45,"tag":638,"props":1710,"children":1711},{"style":1136},[1712],{"type":51,"value":1554},{"type":45,"tag":638,"props":1714,"children":1715},{"style":661},[1716],{"type":51,"value":1717},"prisma\u002Fmigrations",{"type":45,"tag":638,"props":1719,"children":1720},{"style":1136},[1721],{"type":51,"value":1676},{"type":45,"tag":638,"props":1723,"children":1724},{"style":1136},[1725],{"type":51,"value":1281},{"type":45,"tag":638,"props":1727,"children":1728},{"class":640,"line":742},[1729],{"type":45,"tag":638,"props":1730,"children":1731},{"style":1136},[1732],{"type":51,"value":1733},"  },\n",{"type":45,"tag":638,"props":1735,"children":1736},{"class":640,"line":751},[1737,1742,1746],{"type":45,"tag":638,"props":1738,"children":1739},{"style":1655},[1740],{"type":51,"value":1741},"  datasource",{"type":45,"tag":638,"props":1743,"children":1744},{"style":1136},[1745],{"type":51,"value":1163},{"type":45,"tag":638,"props":1747,"children":1748},{"style":1136},[1749],{"type":51,"value":1243},{"type":45,"tag":638,"props":1751,"children":1752},{"class":640,"line":768},[1753,1758,1762,1766,1770,1774,1779,1783,1787],{"type":45,"tag":638,"props":1754,"children":1755},{"style":1655},[1756],{"type":51,"value":1757},"    url",{"type":45,"tag":638,"props":1759,"children":1760},{"style":1136},[1761],{"type":51,"value":1163},{"type":45,"tag":638,"props":1763,"children":1764},{"style":1638},[1765],{"type":51,"value":1592},{"type":45,"tag":638,"props":1767,"children":1768},{"style":1579},[1769],{"type":51,"value":1645},{"type":45,"tag":638,"props":1771,"children":1772},{"style":1136},[1773],{"type":51,"value":1676},{"type":45,"tag":638,"props":1775,"children":1776},{"style":661},[1777],{"type":51,"value":1778},"DATABASE_URL",{"type":45,"tag":638,"props":1780,"children":1781},{"style":1136},[1782],{"type":51,"value":1676},{"type":45,"tag":638,"props":1784,"children":1785},{"style":1579},[1786],{"type":51,"value":491},{"type":45,"tag":638,"props":1788,"children":1789},{"style":1136},[1790],{"type":51,"value":1281},{"type":45,"tag":638,"props":1792,"children":1793},{"class":640,"line":776},[1794],{"type":45,"tag":638,"props":1795,"children":1796},{"style":1136},[1797],{"type":51,"value":1733},{"type":45,"tag":638,"props":1799,"children":1800},{"class":640,"line":785},[1801,1806],{"type":45,"tag":638,"props":1802,"children":1803},{"style":1136},[1804],{"type":51,"value":1805},"}",{"type":45,"tag":638,"props":1807,"children":1808},{"style":1579},[1809],{"type":51,"value":1810},")\n",{"type":45,"tag":1116,"props":1812,"children":1814},{"id":1813},"_5-install-a-driver-adapter-sql-providers-only",[1815],{"type":51,"value":1816},"5. Install a driver adapter (SQL providers only)",{"type":45,"tag":627,"props":1818,"children":1820},{"className":629,"code":1819,"language":631,"meta":632,"style":632},"# PostgreSQL\nnpm install @prisma\u002Fadapter-pg pg\n\n# MySQL\nnpm install @prisma\u002Fadapter-mariadb mariadb\n\n# SQLite\nnpm install @prisma\u002Fadapter-better-sqlite3 better-sqlite3\n\n# Prisma Postgres in standard Node.js apps (recommended)\nnpm install @prisma\u002Fadapter-pg pg\n\n# Prisma Postgres serverless driver (edge\u002Fserverless)\nnpm install @prisma\u002Fadapter-ppg @prisma\u002Fppg\n\n# Neon\nnpm install @prisma\u002Fadapter-neon\n",[1821],{"type":45,"tag":60,"props":1822,"children":1823},{"__ignoreMap":632},[1824,1832,1851,1858,1866,1887,1894,1902,1923,1930,1938,1957,1964,1973,1995,2003,2012],{"type":45,"tag":638,"props":1825,"children":1826},{"class":640,"line":641},[1827],{"type":45,"tag":638,"props":1828,"children":1829},{"style":645},[1830],{"type":51,"value":1831},"# PostgreSQL\n",{"type":45,"tag":638,"props":1833,"children":1834},{"class":640,"line":651},[1835,1839,1843,1847],{"type":45,"tag":638,"props":1836,"children":1837},{"style":655},[1838],{"type":51,"value":658},{"type":45,"tag":638,"props":1840,"children":1841},{"style":661},[1842],{"type":51,"value":664},{"type":45,"tag":638,"props":1844,"children":1845},{"style":661},[1846],{"type":51,"value":726},{"type":45,"tag":638,"props":1848,"children":1849},{"style":661},[1850],{"type":51,"value":731},{"type":45,"tag":638,"props":1852,"children":1853},{"class":640,"line":30},[1854],{"type":45,"tag":638,"props":1855,"children":1856},{"emptyLinePlaceholder":697},[1857],{"type":51,"value":700},{"type":45,"tag":638,"props":1859,"children":1860},{"class":640,"line":693},[1861],{"type":45,"tag":638,"props":1862,"children":1863},{"style":645},[1864],{"type":51,"value":1865},"# MySQL\n",{"type":45,"tag":638,"props":1867,"children":1868},{"class":640,"line":703},[1869,1873,1877,1882],{"type":45,"tag":638,"props":1870,"children":1871},{"style":655},[1872],{"type":51,"value":658},{"type":45,"tag":638,"props":1874,"children":1875},{"style":661},[1876],{"type":51,"value":664},{"type":45,"tag":638,"props":1878,"children":1879},{"style":661},[1880],{"type":51,"value":1881}," @prisma\u002Fadapter-mariadb",{"type":45,"tag":638,"props":1883,"children":1884},{"style":661},[1885],{"type":51,"value":1886}," mariadb\n",{"type":45,"tag":638,"props":1888,"children":1889},{"class":640,"line":712},[1890],{"type":45,"tag":638,"props":1891,"children":1892},{"emptyLinePlaceholder":697},[1893],{"type":51,"value":700},{"type":45,"tag":638,"props":1895,"children":1896},{"class":640,"line":734},[1897],{"type":45,"tag":638,"props":1898,"children":1899},{"style":645},[1900],{"type":51,"value":1901},"# SQLite\n",{"type":45,"tag":638,"props":1903,"children":1904},{"class":640,"line":742},[1905,1909,1913,1918],{"type":45,"tag":638,"props":1906,"children":1907},{"style":655},[1908],{"type":51,"value":658},{"type":45,"tag":638,"props":1910,"children":1911},{"style":661},[1912],{"type":51,"value":664},{"type":45,"tag":638,"props":1914,"children":1915},{"style":661},[1916],{"type":51,"value":1917}," @prisma\u002Fadapter-better-sqlite3",{"type":45,"tag":638,"props":1919,"children":1920},{"style":661},[1921],{"type":51,"value":1922}," better-sqlite3\n",{"type":45,"tag":638,"props":1924,"children":1925},{"class":640,"line":751},[1926],{"type":45,"tag":638,"props":1927,"children":1928},{"emptyLinePlaceholder":697},[1929],{"type":51,"value":700},{"type":45,"tag":638,"props":1931,"children":1932},{"class":640,"line":768},[1933],{"type":45,"tag":638,"props":1934,"children":1935},{"style":645},[1936],{"type":51,"value":1937},"# Prisma Postgres in standard Node.js apps (recommended)\n",{"type":45,"tag":638,"props":1939,"children":1940},{"class":640,"line":776},[1941,1945,1949,1953],{"type":45,"tag":638,"props":1942,"children":1943},{"style":655},[1944],{"type":51,"value":658},{"type":45,"tag":638,"props":1946,"children":1947},{"style":661},[1948],{"type":51,"value":664},{"type":45,"tag":638,"props":1950,"children":1951},{"style":661},[1952],{"type":51,"value":726},{"type":45,"tag":638,"props":1954,"children":1955},{"style":661},[1956],{"type":51,"value":731},{"type":45,"tag":638,"props":1958,"children":1959},{"class":640,"line":785},[1960],{"type":45,"tag":638,"props":1961,"children":1962},{"emptyLinePlaceholder":697},[1963],{"type":51,"value":700},{"type":45,"tag":638,"props":1965,"children":1967},{"class":640,"line":1966},13,[1968],{"type":45,"tag":638,"props":1969,"children":1970},{"style":645},[1971],{"type":51,"value":1972},"# Prisma Postgres serverless driver (edge\u002Fserverless)\n",{"type":45,"tag":638,"props":1974,"children":1976},{"class":640,"line":1975},14,[1977,1981,1985,1990],{"type":45,"tag":638,"props":1978,"children":1979},{"style":655},[1980],{"type":51,"value":658},{"type":45,"tag":638,"props":1982,"children":1983},{"style":661},[1984],{"type":51,"value":664},{"type":45,"tag":638,"props":1986,"children":1987},{"style":661},[1988],{"type":51,"value":1989}," @prisma\u002Fadapter-ppg",{"type":45,"tag":638,"props":1991,"children":1992},{"style":661},[1993],{"type":51,"value":1994}," @prisma\u002Fppg\n",{"type":45,"tag":638,"props":1996,"children":1998},{"class":640,"line":1997},15,[1999],{"type":45,"tag":638,"props":2000,"children":2001},{"emptyLinePlaceholder":697},[2002],{"type":51,"value":700},{"type":45,"tag":638,"props":2004,"children":2006},{"class":640,"line":2005},16,[2007],{"type":45,"tag":638,"props":2008,"children":2009},{"style":645},[2010],{"type":51,"value":2011},"# Neon\n",{"type":45,"tag":638,"props":2013,"children":2015},{"class":640,"line":2014},17,[2016,2020,2024],{"type":45,"tag":638,"props":2017,"children":2018},{"style":655},[2019],{"type":51,"value":658},{"type":45,"tag":638,"props":2021,"children":2022},{"style":661},[2023],{"type":51,"value":664},{"type":45,"tag":638,"props":2025,"children":2026},{"style":661},[2027],{"type":51,"value":2028}," @prisma\u002Fadapter-neon\n",{"type":45,"tag":54,"props":2030,"children":2031},{},[2032,2034,2040],{"type":51,"value":2033},"MongoDB does not have a SQL ",{"type":45,"tag":60,"props":2035,"children":2037},{"className":2036},[],[2038],{"type":51,"value":2039},"@prisma\u002Fadapter-*",{"type":51,"value":2041}," package in the published Prisma 7.6.0 packages. If you're upgrading a MongoDB project, stop and keep that project on the latest Prisma 6.x release instead of following the standard Prisma 7 migration path.",{"type":45,"tag":1116,"props":2043,"children":2045},{"id":2044},"_6-update-client-instantiation",[2046],{"type":51,"value":2047},"6. Update client instantiation",{"type":45,"tag":627,"props":2049,"children":2051},{"className":1535,"code":2050,"language":14,"meta":632,"style":632},"\u002F\u002F Before (v6)\nimport { PrismaClient } from '@prisma\u002Fclient'\nconst prisma = new PrismaClient()\n\n\u002F\u002F After (v7)\nimport { PrismaClient } from '..\u002Fgenerated\u002Fprisma\u002Fclient'\nimport { PrismaPg } from '@prisma\u002Fadapter-pg'\n\nconst adapter = new PrismaPg({\n  connectionString: process.env.DATABASE_URL\n})\n\nconst prisma = new PrismaClient({ adapter })\n",[2052],{"type":45,"tag":60,"props":2053,"children":2054},{"__ignoreMap":632},[2055,2062,2099,2131,2138,2145,2181,2218,2225,2257,2293,2304,2311],{"type":45,"tag":638,"props":2056,"children":2057},{"class":640,"line":641},[2058],{"type":45,"tag":638,"props":2059,"children":2060},{"style":645},[2061],{"type":51,"value":1442},{"type":45,"tag":638,"props":2063,"children":2064},{"class":640,"line":651},[2065,2069,2073,2078,2082,2086,2090,2095],{"type":45,"tag":638,"props":2066,"children":2067},{"style":1546},[2068],{"type":51,"value":1549},{"type":45,"tag":638,"props":2070,"children":2071},{"style":1136},[2072],{"type":51,"value":1576},{"type":45,"tag":638,"props":2074,"children":2075},{"style":1579},[2076],{"type":51,"value":2077}," PrismaClient",{"type":45,"tag":638,"props":2079,"children":2080},{"style":1136},[2081],{"type":51,"value":1597},{"type":45,"tag":638,"props":2083,"children":2084},{"style":1546},[2085],{"type":51,"value":1602},{"type":45,"tag":638,"props":2087,"children":2088},{"style":1136},[2089],{"type":51,"value":1554},{"type":45,"tag":638,"props":2091,"children":2092},{"style":661},[2093],{"type":51,"value":2094},"@prisma\u002Fclient",{"type":45,"tag":638,"props":2096,"children":2097},{"style":1136},[2098],{"type":51,"value":1564},{"type":45,"tag":638,"props":2100,"children":2101},{"class":640,"line":30},[2102,2107,2112,2117,2122,2126],{"type":45,"tag":638,"props":2103,"children":2104},{"style":1150},[2105],{"type":51,"value":2106},"const",{"type":45,"tag":638,"props":2108,"children":2109},{"style":1579},[2110],{"type":51,"value":2111}," prisma ",{"type":45,"tag":638,"props":2113,"children":2114},{"style":1136},[2115],{"type":51,"value":2116},"=",{"type":45,"tag":638,"props":2118,"children":2119},{"style":1136},[2120],{"type":51,"value":2121}," new",{"type":45,"tag":638,"props":2123,"children":2124},{"style":1638},[2125],{"type":51,"value":2077},{"type":45,"tag":638,"props":2127,"children":2128},{"style":1579},[2129],{"type":51,"value":2130},"()\n",{"type":45,"tag":638,"props":2132,"children":2133},{"class":640,"line":693},[2134],{"type":45,"tag":638,"props":2135,"children":2136},{"emptyLinePlaceholder":697},[2137],{"type":51,"value":700},{"type":45,"tag":638,"props":2139,"children":2140},{"class":640,"line":703},[2141],{"type":45,"tag":638,"props":2142,"children":2143},{"style":645},[2144],{"type":51,"value":1480},{"type":45,"tag":638,"props":2146,"children":2147},{"class":640,"line":712},[2148,2152,2156,2160,2164,2168,2172,2177],{"type":45,"tag":638,"props":2149,"children":2150},{"style":1546},[2151],{"type":51,"value":1549},{"type":45,"tag":638,"props":2153,"children":2154},{"style":1136},[2155],{"type":51,"value":1576},{"type":45,"tag":638,"props":2157,"children":2158},{"style":1579},[2159],{"type":51,"value":2077},{"type":45,"tag":638,"props":2161,"children":2162},{"style":1136},[2163],{"type":51,"value":1597},{"type":45,"tag":638,"props":2165,"children":2166},{"style":1546},[2167],{"type":51,"value":1602},{"type":45,"tag":638,"props":2169,"children":2170},{"style":1136},[2171],{"type":51,"value":1554},{"type":45,"tag":638,"props":2173,"children":2174},{"style":661},[2175],{"type":51,"value":2176},"..\u002Fgenerated\u002Fprisma\u002Fclient",{"type":45,"tag":638,"props":2178,"children":2179},{"style":1136},[2180],{"type":51,"value":1564},{"type":45,"tag":638,"props":2182,"children":2183},{"class":640,"line":734},[2184,2188,2192,2197,2201,2205,2209,2214],{"type":45,"tag":638,"props":2185,"children":2186},{"style":1546},[2187],{"type":51,"value":1549},{"type":45,"tag":638,"props":2189,"children":2190},{"style":1136},[2191],{"type":51,"value":1576},{"type":45,"tag":638,"props":2193,"children":2194},{"style":1579},[2195],{"type":51,"value":2196}," PrismaPg",{"type":45,"tag":638,"props":2198,"children":2199},{"style":1136},[2200],{"type":51,"value":1597},{"type":45,"tag":638,"props":2202,"children":2203},{"style":1546},[2204],{"type":51,"value":1602},{"type":45,"tag":638,"props":2206,"children":2207},{"style":1136},[2208],{"type":51,"value":1554},{"type":45,"tag":638,"props":2210,"children":2211},{"style":661},[2212],{"type":51,"value":2213},"@prisma\u002Fadapter-pg",{"type":45,"tag":638,"props":2215,"children":2216},{"style":1136},[2217],{"type":51,"value":1564},{"type":45,"tag":638,"props":2219,"children":2220},{"class":640,"line":742},[2221],{"type":45,"tag":638,"props":2222,"children":2223},{"emptyLinePlaceholder":697},[2224],{"type":51,"value":700},{"type":45,"tag":638,"props":2226,"children":2227},{"class":640,"line":751},[2228,2232,2237,2241,2245,2249,2253],{"type":45,"tag":638,"props":2229,"children":2230},{"style":1150},[2231],{"type":51,"value":2106},{"type":45,"tag":638,"props":2233,"children":2234},{"style":1579},[2235],{"type":51,"value":2236}," adapter ",{"type":45,"tag":638,"props":2238,"children":2239},{"style":1136},[2240],{"type":51,"value":2116},{"type":45,"tag":638,"props":2242,"children":2243},{"style":1136},[2244],{"type":51,"value":2121},{"type":45,"tag":638,"props":2246,"children":2247},{"style":1638},[2248],{"type":51,"value":2196},{"type":45,"tag":638,"props":2250,"children":2251},{"style":1579},[2252],{"type":51,"value":1645},{"type":45,"tag":638,"props":2254,"children":2255},{"style":1136},[2256],{"type":51,"value":1139},{"type":45,"tag":638,"props":2258,"children":2259},{"class":640,"line":768},[2260,2265,2269,2274,2279,2284,2288],{"type":45,"tag":638,"props":2261,"children":2262},{"style":1655},[2263],{"type":51,"value":2264},"  connectionString",{"type":45,"tag":638,"props":2266,"children":2267},{"style":1136},[2268],{"type":51,"value":1163},{"type":45,"tag":638,"props":2270,"children":2271},{"style":1579},[2272],{"type":51,"value":2273}," process",{"type":45,"tag":638,"props":2275,"children":2276},{"style":1136},[2277],{"type":51,"value":2278},".",{"type":45,"tag":638,"props":2280,"children":2281},{"style":1579},[2282],{"type":51,"value":2283},"env",{"type":45,"tag":638,"props":2285,"children":2286},{"style":1136},[2287],{"type":51,"value":2278},{"type":45,"tag":638,"props":2289,"children":2290},{"style":1579},[2291],{"type":51,"value":2292},"DATABASE_URL\n",{"type":45,"tag":638,"props":2294,"children":2295},{"class":640,"line":776},[2296,2300],{"type":45,"tag":638,"props":2297,"children":2298},{"style":1136},[2299],{"type":51,"value":1805},{"type":45,"tag":638,"props":2301,"children":2302},{"style":1579},[2303],{"type":51,"value":1810},{"type":45,"tag":638,"props":2305,"children":2306},{"class":640,"line":785},[2307],{"type":45,"tag":638,"props":2308,"children":2309},{"emptyLinePlaceholder":697},[2310],{"type":51,"value":700},{"type":45,"tag":638,"props":2312,"children":2313},{"class":640,"line":1966},[2314,2318,2322,2326,2330,2334,2338,2343,2347,2351],{"type":45,"tag":638,"props":2315,"children":2316},{"style":1150},[2317],{"type":51,"value":2106},{"type":45,"tag":638,"props":2319,"children":2320},{"style":1579},[2321],{"type":51,"value":2111},{"type":45,"tag":638,"props":2323,"children":2324},{"style":1136},[2325],{"type":51,"value":2116},{"type":45,"tag":638,"props":2327,"children":2328},{"style":1136},[2329],{"type":51,"value":2121},{"type":45,"tag":638,"props":2331,"children":2332},{"style":1638},[2333],{"type":51,"value":2077},{"type":45,"tag":638,"props":2335,"children":2336},{"style":1579},[2337],{"type":51,"value":1645},{"type":45,"tag":638,"props":2339,"children":2340},{"style":1136},[2341],{"type":51,"value":2342},"{",{"type":45,"tag":638,"props":2344,"children":2345},{"style":1579},[2346],{"type":51,"value":2236},{"type":45,"tag":638,"props":2348,"children":2349},{"style":1136},[2350],{"type":51,"value":1805},{"type":45,"tag":638,"props":2352,"children":2353},{"style":1579},[2354],{"type":51,"value":1810},{"type":45,"tag":1116,"props":2356,"children":2358},{"id":2357},"_7-replace-prismavalidator-with-satisfies",[2359],{"type":51,"value":2360},"7. Replace Prisma.validator with satisfies",{"type":45,"tag":627,"props":2362,"children":2364},{"className":1535,"code":2363,"language":14,"meta":632,"style":632},"import { Prisma } from '..\u002Fgenerated\u002Fprisma\u002Fclient'\n\nconst userSelect = {\n  id: true,\n  email: true,\n  name: true,\n} satisfies Prisma.UserSelect\n",[2365],{"type":45,"tag":60,"props":2366,"children":2367},{"__ignoreMap":632},[2368,2404,2411,2431,2453,2473,2493],{"type":45,"tag":638,"props":2369,"children":2370},{"class":640,"line":641},[2371,2375,2379,2384,2388,2392,2396,2400],{"type":45,"tag":638,"props":2372,"children":2373},{"style":1546},[2374],{"type":51,"value":1549},{"type":45,"tag":638,"props":2376,"children":2377},{"style":1136},[2378],{"type":51,"value":1576},{"type":45,"tag":638,"props":2380,"children":2381},{"style":1579},[2382],{"type":51,"value":2383}," Prisma",{"type":45,"tag":638,"props":2385,"children":2386},{"style":1136},[2387],{"type":51,"value":1597},{"type":45,"tag":638,"props":2389,"children":2390},{"style":1546},[2391],{"type":51,"value":1602},{"type":45,"tag":638,"props":2393,"children":2394},{"style":1136},[2395],{"type":51,"value":1554},{"type":45,"tag":638,"props":2397,"children":2398},{"style":661},[2399],{"type":51,"value":2176},{"type":45,"tag":638,"props":2401,"children":2402},{"style":1136},[2403],{"type":51,"value":1564},{"type":45,"tag":638,"props":2405,"children":2406},{"class":640,"line":651},[2407],{"type":45,"tag":638,"props":2408,"children":2409},{"emptyLinePlaceholder":697},[2410],{"type":51,"value":700},{"type":45,"tag":638,"props":2412,"children":2413},{"class":640,"line":30},[2414,2418,2423,2427],{"type":45,"tag":638,"props":2415,"children":2416},{"style":1150},[2417],{"type":51,"value":2106},{"type":45,"tag":638,"props":2419,"children":2420},{"style":1579},[2421],{"type":51,"value":2422}," userSelect ",{"type":45,"tag":638,"props":2424,"children":2425},{"style":1136},[2426],{"type":51,"value":2116},{"type":45,"tag":638,"props":2428,"children":2429},{"style":1136},[2430],{"type":51,"value":1243},{"type":45,"tag":638,"props":2432,"children":2433},{"class":640,"line":693},[2434,2439,2443,2449],{"type":45,"tag":638,"props":2435,"children":2436},{"style":1655},[2437],{"type":51,"value":2438},"  id",{"type":45,"tag":638,"props":2440,"children":2441},{"style":1136},[2442],{"type":51,"value":1163},{"type":45,"tag":638,"props":2444,"children":2446},{"style":2445},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[2447],{"type":51,"value":2448}," true",{"type":45,"tag":638,"props":2450,"children":2451},{"style":1136},[2452],{"type":51,"value":1281},{"type":45,"tag":638,"props":2454,"children":2455},{"class":640,"line":703},[2456,2461,2465,2469],{"type":45,"tag":638,"props":2457,"children":2458},{"style":1655},[2459],{"type":51,"value":2460},"  email",{"type":45,"tag":638,"props":2462,"children":2463},{"style":1136},[2464],{"type":51,"value":1163},{"type":45,"tag":638,"props":2466,"children":2467},{"style":2445},[2468],{"type":51,"value":2448},{"type":45,"tag":638,"props":2470,"children":2471},{"style":1136},[2472],{"type":51,"value":1281},{"type":45,"tag":638,"props":2474,"children":2475},{"class":640,"line":712},[2476,2481,2485,2489],{"type":45,"tag":638,"props":2477,"children":2478},{"style":1655},[2479],{"type":51,"value":2480},"  name",{"type":45,"tag":638,"props":2482,"children":2483},{"style":1136},[2484],{"type":51,"value":1163},{"type":45,"tag":638,"props":2486,"children":2487},{"style":2445},[2488],{"type":51,"value":2448},{"type":45,"tag":638,"props":2490,"children":2491},{"style":1136},[2492],{"type":51,"value":1281},{"type":45,"tag":638,"props":2494,"children":2495},{"class":640,"line":734},[2496,2500,2505,2509,2513],{"type":45,"tag":638,"props":2497,"children":2498},{"style":1136},[2499],{"type":51,"value":1805},{"type":45,"tag":638,"props":2501,"children":2502},{"style":1546},[2503],{"type":51,"value":2504}," satisfies",{"type":45,"tag":638,"props":2506,"children":2507},{"style":655},[2508],{"type":51,"value":2383},{"type":45,"tag":638,"props":2510,"children":2511},{"style":1136},[2512],{"type":51,"value":2278},{"type":45,"tag":638,"props":2514,"children":2515},{"style":655},[2516],{"type":51,"value":2517},"UserSelect\n",{"type":45,"tag":1116,"props":2519,"children":2521},{"id":2520},"_8-run-migrations-and-generate",[2522],{"type":51,"value":2523},"8. Run migrations and generate",{"type":45,"tag":627,"props":2525,"children":2527},{"className":629,"code":2526,"language":631,"meta":632,"style":632},"npx prisma generate\nnpx prisma migrate dev  # if needed\n",[2528],{"type":45,"tag":60,"props":2529,"children":2530},{"__ignoreMap":632},[2531,2546],{"type":45,"tag":638,"props":2532,"children":2533},{"class":640,"line":641},[2534,2538,2542],{"type":45,"tag":638,"props":2535,"children":2536},{"style":655},[2537],{"type":51,"value":791},{"type":45,"tag":638,"props":2539,"children":2540},{"style":661},[2541],{"type":51,"value":796},{"type":45,"tag":638,"props":2543,"children":2544},{"style":661},[2545],{"type":51,"value":801},{"type":45,"tag":638,"props":2547,"children":2548},{"class":640,"line":651},[2549,2553,2557,2562,2567],{"type":45,"tag":638,"props":2550,"children":2551},{"style":655},[2552],{"type":51,"value":791},{"type":45,"tag":638,"props":2554,"children":2555},{"style":661},[2556],{"type":51,"value":796},{"type":45,"tag":638,"props":2558,"children":2559},{"style":661},[2560],{"type":51,"value":2561}," migrate",{"type":45,"tag":638,"props":2563,"children":2564},{"style":661},[2565],{"type":51,"value":2566}," dev",{"type":45,"tag":638,"props":2568,"children":2569},{"style":645},[2570],{"type":51,"value":2571},"  # if needed\n",{"type":45,"tag":77,"props":2573,"children":2575},{"id":2574},"troubleshooting",[2576],{"type":51,"value":2577},"Troubleshooting",{"type":45,"tag":1116,"props":2579,"children":2581},{"id":2580},"cannot-find-module-errors",[2582],{"type":51,"value":2583},"\"Cannot find module\" errors",{"type":45,"tag":89,"props":2585,"children":2586},{},[2587,2600],{"type":45,"tag":93,"props":2588,"children":2589},{},[2590,2592,2598],{"type":51,"value":2591},"Check that the generator ",{"type":45,"tag":60,"props":2593,"children":2595},{"className":2594},[],[2596],{"type":51,"value":2597},"output",{"type":51,"value":2599}," path matches your import path",{"type":45,"tag":93,"props":2601,"children":2602},{},[2603,2605,2610],{"type":51,"value":2604},"Ensure ",{"type":45,"tag":60,"props":2606,"children":2608},{"className":2607},[],[2609],{"type":51,"value":617},{"type":51,"value":2611}," ran successfully",{"type":45,"tag":1116,"props":2613,"children":2615},{"id":2614},"ssl-certificate-errors",[2616],{"type":51,"value":2617},"SSL certificate errors",{"type":45,"tag":89,"props":2619,"children":2620},{},[2621,2634],{"type":45,"tag":93,"props":2622,"children":2623},{},[2624,2626,2632],{"type":51,"value":2625},"Add ",{"type":45,"tag":60,"props":2627,"children":2629},{"className":2628},[],[2630],{"type":51,"value":2631},"ssl: { rejectUnauthorized: false }",{"type":51,"value":2633}," to the adapter config if you need to preserve old behavior",{"type":45,"tag":93,"props":2635,"children":2636},{},[2637,2639,2645],{"type":51,"value":2638},"Or configure your certificates properly with ",{"type":45,"tag":60,"props":2640,"children":2642},{"className":2641},[],[2643],{"type":51,"value":2644},"NODE_EXTRA_CA_CERTS",{"type":51,"value":2646}," \u002F OpenSSL CA settings",{"type":45,"tag":1116,"props":2648,"children":2650},{"id":2649},"connection-timeout-issues",[2651],{"type":51,"value":2652},"Connection timeout issues",{"type":45,"tag":89,"props":2654,"children":2655},{},[2656,2661],{"type":45,"tag":93,"props":2657,"children":2658},{},[2659],{"type":51,"value":2660},"Driver adapters use the underlying driver's defaults, which differ from v6",{"type":45,"tag":93,"props":2662,"children":2663},{},[2664],{"type":51,"value":2665},"Configure pool settings explicitly on the adapter if needed",{"type":45,"tag":77,"props":2667,"children":2669},{"id":2668},"resources",[2670],{"type":51,"value":2671},"Resources",{"type":45,"tag":89,"props":2673,"children":2674},{},[2675,2687,2697],{"type":45,"tag":93,"props":2676,"children":2677},{},[2678],{"type":45,"tag":2679,"props":2680,"children":2684},"a",{"href":2681,"rel":2682},"https:\u002F\u002Fwww.prisma.io\u002Fdocs\u002Form\u002Fmore\u002Fupgrades\u002Fto-v7",[2683],"nofollow",[2685],{"type":51,"value":2686},"Official v7 Upgrade Guide",{"type":45,"tag":93,"props":2688,"children":2689},{},[2690],{"type":45,"tag":2679,"props":2691,"children":2694},{"href":2692,"rel":2693},"https:\u002F\u002Fwww.prisma.io\u002Fdocs\u002Form\u002Fcore-concepts\u002Fsupported-databases\u002Fdatabase-drivers",[2683],[2695],{"type":51,"value":2696},"Driver Adapters Documentation",{"type":45,"tag":93,"props":2698,"children":2699},{},[2700],{"type":45,"tag":2679,"props":2701,"children":2704},{"href":2702,"rel":2703},"https:\u002F\u002Fwww.prisma.io\u002Fdocs\u002Form\u002Freference\u002Fprisma-config-reference",[2683],[2705],{"type":51,"value":2706},"Prisma Config Reference",{"type":45,"tag":77,"props":2708,"children":2710},{"id":2709},"how-to-use",[2711],{"type":51,"value":2712},"How to Use",{"type":45,"tag":54,"props":2714,"children":2715},{},[2716,2718,2724,2726,2732],{"type":51,"value":2717},"Follow ",{"type":45,"tag":60,"props":2719,"children":2721},{"className":2720},[],[2722],{"type":51,"value":2723},"references\u002Fschema-changes.md",{"type":51,"value":2725}," and ",{"type":45,"tag":60,"props":2727,"children":2729},{"className":2728},[],[2730],{"type":51,"value":2731},"references\u002Fdriver-adapters.md",{"type":51,"value":2733}," first, then apply the remaining reference files based on your project setup.",{"type":45,"tag":2735,"props":2736,"children":2737},"style",{},[2738],{"type":51,"value":2739},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2741,"total":2907},[2742,2757,2772,2785,2798,2812,2828,2839,2855,2866,2877,2893],{"slug":2743,"name":2743,"fn":2744,"description":2745,"org":2746,"tags":2747,"stars":2754,"repoUrl":2755,"updatedAt":2756},"prisma-next","guide Prisma Next project setup and usage","Route a vague Prisma Next prompt to the right specific skill. Use for \"help me with Prisma Next\", \"what is Prisma Next\", \"explain Prisma Next\", \"I'm new to PN\", \"where do I start\", \"what can I do with Prisma Next\", \"what can I do next with Prisma\", \"just ran createprisma\", \"tour of Prisma Next\", \"Prisma Next overview\", and comparison questions like \"Prisma Next vs Prisma 7\", \"PN vs Drizzle\", \"PN vs Kysely\", \"PN vs TypeORM\". Do NOT use when the prompt clearly matches a workflow skill — adoption \u002F quickstart \u002F first-touch orientation \u002F brownfield introspection, schema \u002F contract editing, migration authoring (db update \u002F migration plan \u002F migrate), migration review on deploy \u002F concurrent migrations, queries \u002F db.orm \u002F db.sql \u002F TypedSQL, Supabase \u002F RLS \u002F role binding, runtime \u002F db.ts \u002F middleware wiring, build \u002F Vite plugin \u002F Next.js plugin, debug \u002F structured error envelopes \u002F PN-* error codes, or feedback \u002F bug report \u002F feature request — load that sibling skill directly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2748,2749,2752,2753],{"name":17,"slug":18,"type":15},{"name":2750,"slug":2751,"type":15},"Next.js","next-js",{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},415,"https:\u002F\u002Fgithub.com\u002Fprisma\u002Fprisma-next","2026-07-17T05:32:04.322957",{"slug":2758,"name":2758,"fn":2759,"description":2760,"org":2761,"tags":2762,"stars":2754,"repoUrl":2755,"updatedAt":2771},"prisma-next-build","integrate Prisma Next into build systems","Wire Prisma Next into the project's build system with the right build-tool plugin — Vite today via @prisma-next\u002Fvite-plugin-contract-emit (Vite 7 \u002F 8); Next.js \u002F Webpack \u002F esbuild \u002F Rollup \u002F Turbopack are named as gaps rather than fabricated. Always offers the Vite plugin proactively when the project is using Vite. Use for vite plugin, vite-plugin, vite.config.ts, prismaVitePlugin, contract emit on save, HMR, hot reload contract, dev server, Next.js plugin, next plugin, withPrismaNext, webpack plugin, esbuild plugin, rollup plugin, build integration, dev server plugin, vite 7, vite 8.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2763,2766,2767,2768],{"name":2764,"slug":2765,"type":15},"Deployment","deployment",{"name":2750,"slug":2751,"type":15},{"name":9,"slug":8,"type":15},{"name":2769,"slug":2770,"type":15},"Vite","vite","2026-07-02T07:31:36.108254",{"slug":2773,"name":2773,"fn":2774,"description":2775,"org":2776,"tags":2777,"stars":2754,"repoUrl":2755,"updatedAt":2784},"prisma-next-contract","edit Prisma Next data contracts and models","Edit the Prisma Next data contract — add models, fields, relations, indexes, enums, value objects (composite types), type aliases, namespaces (Postgres schemas), cross-contract foreign keys (cross-space FK), polymorphic types (`@@discriminator` \u002F `@@base`), use extension namespaces (`pgvector.Vector(...)`, `cipherstash.EncryptedString(...)`), wire `prisma-next.config.ts` with `defineConfig` from the `@prisma-next\u002F\u003Ctarget>\u002Fconfig` façade, and run `prisma-next contract emit`. Use for schema, models, fields, attributes, soft delete, paranoid, scopes, validations, callbacks, prisma schema, PSL, contract.prisma, contract.ts, contract.json, contract.d.ts, `@prisma-next\u002Fpostgres\u002Fconfig`, `@prisma-next\u002Fpostgres\u002Fcontract-builder`, `@prisma-next\u002Fpostgres\u002Fcontrol`, `@prisma-next\u002Fmongo\u002Fconfig`, `@prisma-next\u002Fmongo\u002Fcontract-builder`, `extensions:`, pgvector, cipherstash, postgis, paradedb, supabase, `@prisma-next\u002Fextension-supabase`, `@@control`, control policy, managed, tolerated, external, observed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2778,2781,2782,2783],{"name":2779,"slug":2780,"type":15},"Data Modeling","data-modeling",{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-30T05:30:10.426962",{"slug":2786,"name":2786,"fn":2787,"description":2788,"org":2789,"tags":2790,"stars":2754,"repoUrl":2755,"updatedAt":2797},"prisma-next-debug","debug and recover from Prisma Next errors","Read a Prisma Next structured error envelope and route to the right recovery — code, domain, severity, why, fix, meta. Use for error, exception, my emit failed, my query won't typecheck, my query crashed, my migration won't apply, MIGRATION.HASH_MISMATCH, BUDGET.ROWS_EXCEEDED, BUDGET.TIME_EXCEEDED, RUNTIME.ABORTED, PLAN.HASH_MISMATCH, CONTRACT.MARKER_MISSING, PN-RUN-3001, PN-RUN-3002, PN-RUN-3030, PN-MIG-2001, PN-CLI-4011, PN-SCHEMA-0001, drift, capability missing, planner conflict, prisma studio, EXPLAIN, query log, db.end, db.close, script won't exit, hangs, close connection, pool.end, client is closed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2791,2792,2795,2796],{"name":17,"slug":18,"type":15},{"name":2793,"slug":2794,"type":15},"Debugging","debugging",{"name":2750,"slug":2751,"type":15},{"name":9,"slug":8,"type":15},"2026-07-24T05:37:10.436314",{"slug":2799,"name":2799,"fn":2800,"description":2801,"org":2802,"tags":2803,"stars":2754,"repoUrl":2755,"updatedAt":2811},"prisma-next-feedback","report Prisma Next issues and feedback","Hand a Prisma Next question or report off to the team — file a GitHub issue (bug or feature request), or route Q&A \u002F design discussion \u002F direct-team-contact to the Prisma Discord at pris.ly\u002Fdiscord. Use for bug, bug report, file an issue, report a bug, feature request, missing feature, this should be a feature, file this, this is a bug, this is broken, surprising behaviour, this doesn't work, file feedback, send feedback, capability gap, file via prisma-next-feedback, ask the team, talk to the team, talk to the Prisma team, talk to Prisma, Discord, Prisma Discord, Q&A, design feedback, is this the intended way, how should I do X, extension author question, extension author needs help.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2804,2807,2810],{"name":2805,"slug":2806,"type":15},"Documentation","documentation",{"name":2808,"slug":2809,"type":15},"GitHub","github",{"name":9,"slug":8,"type":15},"2026-07-02T07:31:34.870809",{"slug":2813,"name":2813,"fn":2814,"description":2815,"org":2816,"tags":2817,"stars":2754,"repoUrl":2755,"updatedAt":2827},"prisma-next-migration-review","review and resolve Prisma Next migrations","Review what Prisma Next migrations will run on merge or deploy, render the migration graph, resolve concurrent \u002F diamond-convergence conflicts, and configure environment refs for CI. Use for \"what migrations are going to run\", \"what runs on deploy\", merge conflict, diamond convergence, concurrent migrations, migration status, ref management, staging, production, MIGRATION.DIVERGED, MIGRATION.NO_MARKER, MIGRATION.MARKER_NOT_IN_HISTORY, prisma migrate status, prisma migrate diff, prisma migrate resolve.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2818,2821,2824,2825,2826],{"name":2819,"slug":2820,"type":15},"CI\u002FCD","ci-cd",{"name":2822,"slug":2823,"type":15},"Code Review","code-review",{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},"2026-07-24T05:37:11.422323",{"slug":2829,"name":2829,"fn":2830,"description":2831,"org":2832,"tags":2833,"stars":2754,"repoUrl":2755,"updatedAt":2838},"prisma-next-migrations","author and manage Prisma Next migrations","Author Prisma Next migrations — choose db update vs migration plan, edit the framework-rendered migration.ts (replace placeholder sentinels with dataTransform closures), recover from MIGRATION.HASH_MISMATCH or PN-MIG-2001 unfilled placeholder. Use for prisma migrate dev, prisma migrate deploy, prisma db push, db update, db update --dry-run, migration plan, migrate, migration new, migration show, db verify, db sign, data migration, this.dataTransform, dataTransform, placeholder, generated migration.ts, edit migration.ts, MIGRATION.HASH_MISMATCH, schema drift.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2834,2835,2836,2837],{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-24T05:37:13.469138",{"slug":2840,"name":2840,"fn":2841,"description":2842,"org":2843,"tags":2844,"stars":2754,"repoUrl":2755,"updatedAt":2854},"prisma-next-queries","write Prisma Next queries for database operations","Write Prisma Next queries for Postgres, SQLite, or Mongo — pick a lane (Postgres\u002FSQLite `db.orm.\u003CModel>` + `db.sql.\u003Ctable>`; Mongo `db.orm.\u003Croot>` + `db.query.from(...)` pipeline builder), filter \u002F project \u002F sort \u002F paginate, eager-load with `.include(...)`, Postgres\u002FSQLite `db.transaction(...)`, Postgres\u002FSQLite ORM `.aggregate(...)`, Mongo aggregations via query builder, namespace-aware accessors (`db.orm.\u003Cns>.\u003CModel>`, `db.sql.\u003Cns>.\u003Ctable>`). Triggers: query, where, match, select, project, orderBy, take, skip, include, lookup, first, all, count, aggregate, group, create, update, delete, upsert, returning, transaction, db.close, script teardown, variant, polymorphism, drizzle-style, kysely-style. Notes: `.all()` is a Thenable (just `await` it), iterators are single-use (`RUNTIME.ITERATOR_CONSUMED`), Postgres `count` is `number` while sum\u002Favg\u002Fmin\u002Fmax are `number | null`, ranges use chained `.where()` or `and(...)` (no `.between(...)`).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2845,2846,2847,2850,2851],{"name":17,"slug":18,"type":15},{"name":2750,"slug":2751,"type":15},{"name":2848,"slug":2849,"type":15},"PostgreSQL","postgresql",{"name":9,"slug":8,"type":15},{"name":2852,"slug":2853,"type":15},"SQL","sql","2026-07-17T05:32:03.35373",{"slug":2856,"name":2856,"fn":2857,"description":2858,"org":2859,"tags":2860,"stars":2754,"repoUrl":2755,"updatedAt":2865},"prisma-next-quickstart","adopt Prisma Next in projects","Adopt Prisma Next into a new project, onto an existing database, or as the first move after a bootstrap tool dropped you into a scaffold. Use for \"what can I do with Prisma Next\", \"what can I do next with Prisma\", \"where do I start\", \"what should I do first\", \"just ran createprisma\", \"createprisma\", \"npx createprisma\", \"npx create-prisma\", \"first steps\", \"first query\", \"I have a scaffolded Prisma Next project what now\"; for `pnpm dlx prisma-next init` greenfield setup; and for `prisma-next contract infer` + `db sign` against an existing database. Also covers the connect-write-read first-arc orientation, the day-to-day commands (`contract emit`, `db init`, `db update`, `migration plan`, `migrate`, `db schema`, `db verify`), and routing to `prisma-next-contract` \u002F `prisma-next-queries` \u002F `prisma-next-runtime` for the next move. Flags: --target, --authoring, --schema-path, --probe-db, --output.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2861,2862,2863,2864],{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-24T05:37:12.462072",{"slug":2867,"name":2867,"fn":2868,"description":2869,"org":2870,"tags":2871,"stars":2754,"repoUrl":2755,"updatedAt":2876},"prisma-next-runtime","configure Prisma Next runtime and database connections","Wire the Prisma Next runtime — `db.ts` setup using `postgres\u003CContract>(...)` from `@prisma-next\u002Fpostgres\u002Fruntime`, `sqlite\u003CContract>(...)` from `@prisma-next\u002Fsqlite\u002Fruntime`, or `mongo\u003CContract>(...)` from `@prisma-next\u002Fmongo\u002Fruntime`; middleware composition (telemetry from `@prisma-next\u002Fmiddleware-telemetry`; lints and budgets), `DATABASE_URL` config, per-environment branching, switching between Postgres, SQLite, and Mongo façades. Use for db.ts, postgres(), sqlite(), mongo(), middleware, telemetry, lints, budgets, DATABASE_URL, .env, connection pool, poolOptions, dev vs prod config, transactions, db.transaction, read replicas, multi-database, script won't exit, hangs, close connection, db.end, db.close, pool.end, [Symbol.asyncDispose], await using.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2872,2873,2874,2875],{"name":17,"slug":18,"type":15},{"name":2750,"slug":2751,"type":15},{"name":2848,"slug":2849,"type":15},{"name":9,"slug":8,"type":15},"2026-07-17T05:32:05.347316",{"slug":2878,"name":2878,"fn":2879,"description":2880,"org":2881,"tags":2882,"stars":2754,"repoUrl":2755,"updatedAt":2892},"prisma-next-supabase","integrate Prisma with Supabase","Use Prisma Next with a Supabase project via `@prisma-next\u002Fextension-supabase` — wire `extensions: [supabasePack]`, declare cross-space FKs to `supabase:auth.AuthUser`, author RLS policies (`policy_select` \u002F `policy_update` \u002F `@@rls`, `auth.uid()` predicates), build `db.ts` with the `supabase()` factory, bind roles per request (`asUser(jwt)` \u002F `asAnon()` \u002F `asServiceRole()`), query `auth.*` \u002F `storage.*` via the `db.asServiceRole().supabase` admin root, and validate JWTs (`jwksUrl` for current projects \u002F `jwtSecret` for legacy HS256). Use for supabase, RLS, row level security, policy, role binding, anon, authenticated, service_role, auth.users, auth.uid(), JWT, JWKS, SUPABASE_JWKS_URL, SUPABASE_JWT_SECRET, SUPABASE.JWT_INVALID, SUPABASE.CONFIG_INVALID, RoleBoundDb, session pooler, supabase:auth.AuthUser, @prisma-next\u002Fextension-supabase.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2883,2886,2887,2888,2889],{"name":2884,"slug":2885,"type":15},"Auth","auth",{"name":23,"slug":24,"type":15},{"name":2848,"slug":2849,"type":15},{"name":9,"slug":8,"type":15},{"name":2890,"slug":2891,"type":15},"Supabase","supabase","2026-07-30T05:30:11.065251",{"slug":2894,"name":2894,"fn":2895,"description":2896,"org":2897,"tags":2898,"stars":26,"repoUrl":27,"updatedAt":2906},"prisma-cli","run Prisma CLI commands","Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, studio, validate, format, debug, and mcp. Use for ORM\u002Fdatabase CLI workflows, not Prisma Compute app deployment. For Prisma Compute, `@prisma\u002Fcli app deploy`, `compute:deploy`, `create-prisma --deploy`, apps, deployments, logs, or domains, use the `prisma-compute` skill instead. Triggers on \"prisma init\", \"prisma generate\", \"prisma migrate\", \"prisma db\", \"prisma studio\", \"prisma mcp\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2899,2902,2903,2904,2905],{"name":2900,"slug":2901,"type":15},"CLI","cli",{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:48:29.140467",21,{"items":2909,"total":751},[2910,2918,2932,2945,2959,2973,2986],{"slug":2894,"name":2894,"fn":2895,"description":2896,"org":2911,"tags":2912,"stars":26,"repoUrl":27,"updatedAt":2906},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2913,2914,2915,2916,2917],{"name":2900,"slug":2901,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},{"slug":2919,"name":2919,"fn":2920,"description":2921,"org":2922,"tags":2923,"stars":26,"repoUrl":27,"updatedAt":2931},"prisma-client-api","write database queries with Prisma Client","Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on \"prisma query\", \"findMany\", \"create\", \"update\", \"delete\", \"$transaction\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2924,2927,2928,2929,2930],{"name":2925,"slug":2926,"type":15},"API Development","api-development",{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-04-06T18:48:31.666695",{"slug":2933,"name":2933,"fn":2934,"description":2935,"org":2936,"tags":2937,"stars":26,"repoUrl":27,"updatedAt":2944},"prisma-compute","deploy and host Prisma applications","Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma\u002Fcli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, `auth workspace`, Compute apps\u002Fdeployments\u002Fbuild logs\u002Fdomains, `@prisma\u002Fcli agent install`, `@prisma\u002Fcli feedback`, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte, Nest, Turborepo, or custom\u002Fprebuilt artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2938,2939,2940,2941],{"name":2764,"slug":2765,"type":15},{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},{"name":2942,"slug":2943,"type":15},"Serverless","serverless","2026-07-17T05:31:53.370495",{"slug":2946,"name":2946,"fn":2947,"description":2948,"org":2949,"tags":2950,"stars":26,"repoUrl":27,"updatedAt":2958},"prisma-database-setup","configure Prisma with database providers","Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on \"configure postgres\", \"connect to mysql\", \"setup mongodb\", \"sqlite setup\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2951,2952,2955,2956,2957],{"name":17,"slug":18,"type":15},{"name":2953,"slug":2954,"type":15},"MySQL","mysql",{"name":23,"slug":24,"type":15},{"name":2848,"slug":2849,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:48:34.192852",{"slug":2960,"name":2960,"fn":2961,"description":2962,"org":2963,"tags":2964,"stars":26,"repoUrl":27,"updatedAt":2972},"prisma-driver-adapter-implementation","implement Prisma driver adapters","Required reference for Prisma v7 driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter\u002FTransaction interfaces. Contains critical contract details not inferable from code examples — including the transaction lifecycle protocol, error mapping requirements, and verification checklist. Existing implementations do not replace this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2965,2966,2969,2970,2971],{"name":17,"slug":18,"type":15},{"name":2967,"slug":2968,"type":15},"Engineering","engineering",{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-04-06T18:48:35.478693",{"slug":462,"name":462,"fn":2974,"description":2975,"org":2976,"tags":2977,"stars":26,"repoUrl":27,"updatedAt":2985},"migrate Prisma MongoDB projects to v6","Decision and migration guide for Prisma ORM MongoDB projects on v6, which have no upgrade path to v7. Use when a MongoDB project asks about upgrading Prisma, when \"upgrade to prisma 7\" comes up in a project with provider = \"mongodb\", or when evaluating a move to Prisma Next. Triggers on \"upgrade prisma mongodb\", \"prisma 7 mongodb\", \"mongodb prisma migration\", \"prisma next mongodb\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2978,2979,2980,2983,2984],{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":2981,"slug":2982,"type":15},"MongoDB","mongodb",{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},"2026-07-11T05:35:03.668013",{"slug":2987,"name":2987,"fn":2988,"description":2989,"org":2990,"tags":2991,"stars":26,"repoUrl":27,"updatedAt":2999},"prisma-postgres","manage Prisma Postgres databases","Prisma Postgres setup and operations guidance across Console, create-db CLI, Management API, and Management API SDK. Use when creating Prisma Postgres databases, working in Prisma Console, provisioning with create-db\u002Fcreate-pg\u002Fcreate-postgres, or integrating programmatic provisioning with service tokens or OAuth.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2992,2993,2994,2995,2996],{"name":2900,"slug":2901,"type":15},{"name":17,"slug":18,"type":15},{"name":2848,"slug":2849,"type":15},{"name":9,"slug":8,"type":15},{"name":2997,"slug":2998,"type":15},"SDK","sdk","2026-07-17T05:31:52.398028"]