- Skill ID
- prisma/orm/prisma-8
- Publisher
- prisma
- Repository
- orm
- Installs
- 0
- Files
- 76
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
prisma/orm/prisma-8Installs these files- SKILL.md
- references/build.md
- references/contract.md
- references/debug.md
- references/feedback.md
- references/migration-model.md
- references/migration-review.md
- references/migrations.md
- references/queries-mongo.md
- references/queries-postgres.md
- references/queries.md
- references/quickstart.md
- references/runtime.md
- references/supabase.md
- references/upgrade-app.md
- references/upgrade-extension.md
- upgrading/app/upgrades/0.10-to-0.11/instructions.md
- upgrading/app/upgrades/0.11-to-0.12/instructions.md
- upgrading/app/upgrades/0.11-to-0.12/re-emit-closed-mongo-contracts.ts
- upgrading/app/upgrades/0.11-to-0.12/re-emit-domain-namespaced-contracts.ts
- upgrading/app/upgrades/0.11-to-0.12/re-emit-postgres-public-default.ts
- upgrading/app/upgrades/0.11-to-0.12/strip-migration-labels-hints.ts
- upgrading/app/upgrades/0.12-to-0.13/instructions.md
- upgrading/app/upgrades/0.12-to-0.13/re-emit-mti-variant-link-columns.ts
- upgrading/app/upgrades/0.13-to-0.14/instructions.md
- upgrading/app/upgrades/0.13-to-0.14/migration-op-factories-to-methods.ts
- upgrading/app/upgrades/0.13-to-0.14/uuid-preset-rename.ts
- upgrading/app/upgrades/0.14-to-0.15/instructions.md
- upgrading/app/upgrades/0.15-to-0.16/instructions.md
- upgrading/app/upgrades/0.16-to-0.17/instructions.md
- upgrading/app/upgrades/0.16-to-0.17/strip-sha256-hash-prefixes.ts
- upgrading/app/upgrades/0.17-to-8.0.0-rc.1/instructions.md
- upgrading/app/upgrades/0.7-to-0.8/instructions.md
- upgrading/app/upgrades/0.8-to-0.9/instructions.md
- upgrading/app/upgrades/0.8-to-0.9/strip-inline-contracts.ts
- upgrading/app/upgrades/0.9-to-0.10/instructions.md
- upgrading/app/upgrades/0.9-to-0.10/stamp-storage-types-kind.ts
- upgrading/app/upgrades/8.0.0-rc.1-to-8.0.0-rc.2/instructions.md
- upgrading/app/upgrades/8.0.0-rc.10-to-8.0.0-rc.11/instructions.md
- upgrading/app/upgrades/8.0.0-rc.2-to-8.0.0-rc.3/instructions.md
- upgrading/app/upgrades/8.0.0-rc.3-to-8.0.0-rc.4/instructions.md
- upgrading/app/upgrades/8.0.0-rc.4-to-8.0.0-rc.5/instructions.md
- upgrading/app/upgrades/8.0.0-rc.5-to-8.0.0-rc.6/instructions.md
- upgrading/app/upgrades/8.0.0-rc.6-to-8.0.0-rc.7/instructions.md
- upgrading/app/upgrades/8.0.0-rc.7-to-8.0.0-rc.8/instructions.md
- upgrading/app/upgrades/8.0.0-rc.8-to-8.0.0-rc.9/instructions.md
- upgrading/app/upgrades/8.0.0-rc.9-to-8.0.0-rc.10/instructions.md
- upgrading/extension/upgrades/0.10-to-0.11/instructions.md
- upgrading/extension/upgrades/0.11-to-0.12/instructions.md
- upgrading/extension/upgrades/0.11-to-0.12/migrate-contract-testing-imports.ts
- upgrading/extension/upgrades/0.11-to-0.12/regenerate-extension-public-baseline.ts
- upgrading/extension/upgrades/0.11-to-0.12/strip-migration-labels-hints.ts
- upgrading/extension/upgrades/0.12-to-0.13/instructions.md
- upgrading/extension/upgrades/0.13-to-0.14/instructions.md
- upgrading/extension/upgrades/0.13-to-0.14/migration-op-factories-to-methods.ts
- upgrading/extension/upgrades/0.13-to-0.14/uuid-preset-rename.ts
- upgrading/extension/upgrades/0.14-to-0.15/instructions.md
- upgrading/extension/upgrades/0.15-to-0.16/instructions.md
- upgrading/extension/upgrades/0.16-to-0.17/instructions.md
- upgrading/extension/upgrades/0.16-to-0.17/strip-sha256-hash-prefixes.ts
- upgrading/extension/upgrades/0.17-to-8.0.0-rc.1/instructions.md
- upgrading/extension/upgrades/0.7-to-0.8/instructions.md
- upgrading/extension/upgrades/0.8-to-0.9/instructions.md
- upgrading/extension/upgrades/0.8-to-0.9/strip-inline-contracts.ts
- upgrading/extension/upgrades/0.9-to-0.10/instructions.md
- upgrading/extension/upgrades/0.9-to-0.10/stamp-storage-types-kind.ts
- upgrading/extension/upgrades/8.0.0-rc.1-to-8.0.0-rc.2/instructions.md
- upgrading/extension/upgrades/8.0.0-rc.10-to-8.0.0-rc.11/instructions.md
- upgrading/extension/upgrades/8.0.0-rc.2-to-8.0.0-rc.3/instructions.md
- upgrading/extension/upgrades/8.0.0-rc.3-to-8.0.0-rc.4/instructions.md
- upgrading/extension/upgrades/8.0.0-rc.4-to-8.0.0-rc.5/instructions.md
- upgrading/extension/upgrades/8.0.0-rc.5-to-8.0.0-rc.6/instructions.md
- upgrading/extension/upgrades/8.0.0-rc.6-to-8.0.0-rc.7/instructions.md
- upgrading/extension/upgrades/8.0.0-rc.7-to-8.0.0-rc.8/instructions.md
- upgrading/extension/upgrades/8.0.0-rc.8-to-8.0.0-rc.9/instructions.md
- upgrading/extension/upgrades/8.0.0-rc.9-to-8.0.0-rc.10/instructions.md
What this skill tells the agent
Prisma 8 (Prisma 8)
Edit your data contract. Prisma handles the rest.
Prisma 8 moves fast, and your training data about it is very likely outdated. This skill ships inside the installed Prisma packages, so it describes the exact version this project has — treat it and its reference files as the source of truth, over anything you remember about Prisma.
Pre-conditions
Check these before acting on anything below. Halt on the first one that fails and tell the user what is missing.
- The project is on Prisma 8.
prisma.config.tsexportsdefinePrismaConfig({ orm: ... }), andpackage.jsondepends on@prisma/orm-postgres,@prisma/orm-sqlite, or@prisma/orm-mongo. A project withschema.prismaand@prisma/clientis Prisma 7 or earlier; this skill does not apply to it, and its instructions will break such a project. - The skill matches the installed version. Compare
metadata.library_versionin this file's frontmatter with the installed@prisma/orm-*version inpackage.json. If they differ, runprisma skills syncand re-read this file before continuing. - The contract artefacts exist.
contract.jsonandcontract.d.tssit next to the contract source named byprisma.config.ts. If they are missing or older than the source, runprisma contract emitfirst; every query and migration instruction below assumes current artefacts.
Import paths in the references. The reference files spell façade imports as @internal/<target>/<subpath> and @internal/extension-<name>/<subpath>. In an application those packages are published as @prisma/orm-<target>/<subpath> (@prisma/orm-postgres/runtime, @prisma/orm-mongo/config, @prisma/orm-sqlite/runtime) and @prisma/orm-extension-<name>/<subpath> (@prisma/orm-extension-pgvector/control). Write the @prisma/orm-* name in user code; the two spellings are the same package. Paths already written as @prisma/orm-* in the references are exact. The metadata.library_version in this file's frontmatter is the version it was published with; if it does not match the project's installed Prisma packages, run prisma skills sync and re-read.
Prisma 8 is a contract-first data layer. This skill routes every Prisma 8 task to the right reference file — open the reference before writing code; do not answer from this file alone.
The canonical model (one paragraph)
You author a data contract (a contract.prisma file, or a TypeScript builder). The framework emits machine-readable artifacts (contract.json, contract.d.ts) and gives you two runtime surfaces on SQL targets: a typed SQL query builder (db.sql.<ns>.<table>) and a typed ORM client (db.orm.<ns>.<Model>). On MongoDB targets only the ORM lane exists, and its keys are collection storage names (db.orm.users) rather than PSL model names — `references/queries.md` § MongoDB ORM addressing covers the rule. Migrations are planned from the contract diff; you review them, optionally edit the migration.ts for data transforms, and apply.
Three steps the user does:
- Edit your data contract. (`references/contract.md`)
- The system plans the migrations for you. (`references/migrations.md`)
- If you need data migrations, you edit `migration.ts` and execute it. (`references/migrations.md`)
Everything else — queries, runtime wiring, build integration, debugging, feedback — sits on top of those three.
One cross-cutting migration fact: migration plan does not chain from the newest migration on disk. Its origin is --from, else the db ref, else an empty database — so a project with no ref keeps planning from scratch. Over existing migrations the CLI refuses that (MIGRATION.PLAN_ORIGIN_UNKNOWN) instead of writing a full-create package; choose the exit that matches your intent rather than reflexively passing --from @empty. `references/migration-model.md` § The trap explains which to choose.
Routing table
Open the reference whose triggers match the task. If more than one matches, open each — they are written to compose.
| Task | Reference | Triggers |
|---|---|---|
| Adopt / set up / first steps | `references/quickstart.md` | new project, existing database, "what can I do with Prisma 8", "where do I start", "just ran createprisma", npx create-prisma, first steps, first query, prisma orm init greenfield setup, contract infer + db sign brownfield adoption, connect-write-read first arc, day-to-day commands (contract emit, db init, db update, migration plan, db migrate, db schema, db verify), flags --target / --authoring / --schema-path / --probe-db / --output |
| Edit the data contract | `references/contract.md` | schema, models, fields, attributes, relations, indexes, enums, value objects (composite types), type aliases, namespaces (Postgres schemas), cross-contract foreign keys (cross-space FK), polymorphic types (@@discriminator / @@base), extension namespaces (pgvector.Vector(...), postgis.Geometry(...)), prisma.config.ts / definePrismaConfig / ormConfig, prisma contract emit, PSL, contract.prisma, contract.ts, contract.json, contract.d.ts, @internal/postgres/config, @internal/postgres/contract-builder, @internal/mongo/config, extensions:, pgvector, postgis, paradedb, Temporal / temporal-polyfill / RUNTIME.TEMPORAL_UNAVAILABLE, @@control, control policy (managed / tolerated / external / observed), soft delete, validations, callbacks |
| Author migrations | `references/migrations.md` | db update vs migration plan, db migrate, migration new, migration show, db update --dry-run, db verify, db sign, data migration, dataTransform, placeholder sentinels in framework-rendered migration.ts, MIGRATION.HASH_MISMATCH, MIGRATION.UNFILLED_PLACEHOLDER, MIGRATION.DESTRUCTIVE_CHANGES / --confirm <database>, schema drift |
| Migration graph, refs, plan origin | `references/migration-model.md` | migration graph, refs, migration ref set / list / delete, the db ref, --advance-ref, --no-advance-ref, migration plan --from, from: (baseline) in plan output, greenfield / from-scratch plan, baseline, first migration before deploy (Composer / CD-managed databases), chaining migrations, retrofitting migrations onto an existing database, MIGRATION.HASH_NOT_IN_GRAPH, MIGRATION.PATH_UNREACHABLE at plan/chain time |
| Review migrations on deploy | `references/migration-review.md` | "what migrations are going to run", "what runs on deploy / merge", merge conflict, diamond convergence, concurrent migrations, migration status, ref management for CI, staging / production environment refs, MIGRATION.MARKER_NOT_IN_HISTORY, MIGRATION.MISSING_INVARIANTS, MIGRATION.AMBIGUOUS_TARGET, db migrate --show |
More from prisma
Use this skill in a project
Open any RiverX project, search the Skills panel for prisma/orm/prisma-8, and install it in one click.
