prisma-8

Use when working in a project that depends on @prisma/orm-postgres, @prisma/orm-sqlite, or @prisma/orm-mongo (Prisma 8, formerly Prisma Next): editing contract.prisma or a contract.ts builder, running `prisma contract emit`, planning or applying migrations, editing migration.ts, writing db.orm / db.sql / db.query queries, wiring db.ts or middleware, integrating a build tool, using the Supabase extension or RLS, or reading a dotted error code such as MIGRATION.HASH_MISMATCH. Use when the user asks "what is Prisma 8", "where do I start", or compares it to another ORM. Use when the user asks to upgrade or bump Prisma 8 in an app or an extension package. Use when you see @internal/* or @prisma/orm-* imports, prisma.config.ts with definePrismaConfig, or contract.json / contract.d.ts. Do not use for Prisma ORM 7 or earlier (schema.prisma + @prisma/client).

Install
npx skills add 'https://github.com/prisma/orm/tree/main/skills/prisma-8'
Download bundle ↓
main · fac8604Scanned 2026-09-17

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

upgrading/app/upgrades/0.13-to-0.14/uuid-preset-rename.ts

upgrading/app/upgrades/0.13-to-0.14/uuid-preset-rename.tsBrowse 76 files
View on GitHub
← Back to SKILL.md
/** * Renames uuid field presets (0.13 → 0.14): *   Before: field.uuid()       / field.id.uuidv4()       / field.id.uuidv7() *   After:  field.uuidString() / field.id.uuidv4String() / field.id.uuidv7String() * * Run from the project root: pnpm exec tsx <path-to-this-file> */ import { execSync } from 'node:child_process';import { readFileSync, writeFileSync } from 'node:fs';import { join } from 'pathe'; const replacements: Array<[RegExp, string]> = [  [/\bfield\.id\.uuidv4\(\)/g, 'field.id.uuidv4String()'],  [/\bfield\.id\.uuidv7\(\)/g, 'field.id.uuidv7String()'],  [/\bfield\.uuid\(\)/g, 'field.uuidString()'],]; const raw = execSync('git ls-files --cached --others --exclude-standard -- "*.ts"', {  encoding: 'utf-8',}).trim(); const files = raw.split('\n').filter(Boolean);let changed = 0;for (const file of files) {  const abs = join(process.cwd(), file);  let content: string;  try {    content = readFileSync(abs, 'utf-8');  } catch {    continue;  }  const original = content;  for (const [pattern, replacement] of replacements) {    content = content.replace(pattern, replacement);  }  if (content !== original) {    writeFileSync(abs, content, 'utf-8');    console.log(`updated ${file}`);    changed++;  }}console.log(`done — ${changed} file(s) updated`);