Prisma Next

August 4, 2026 ยท View on GitHub

This is the Prisma Next feature-support matrix feeding PR #986 (the Prisma 8 RC1 release). Each row is one feature; the three data columns state whether that feature is available in Prisma Next for Postgres, SQLite, and MongoDB โ€” not whether Prisma 7 had it. The matrix lists all features Prisma Next exposes (mined from prisma-8-api.md), plus every notable Prisma 7 feature Prisma Next lacks, so that absences are named rather than silently missing. The Prisma Next evidence column points only to Prisma Next (TypeScript) test suites; Rust/engine tests and Prisma 7 tests are never cited here. When a cell is ๐ŸŸก the evidence is intentionally empty โ€” that emptiness is what makes it untested rather than proven.

The matrix is split by category across the scorecard/ directory โ€” this page is the index. Each category file is self-contained (it repeats the legend below) and holds that category's table(s) verbatim. Follow the links in the Categories section to reach a specific category.

Legend:

  • โœ… Works โ€” proven by a Prisma Next integration test (one that executes the feature against a database โ€” Postgres via PGlite, SQLite via its real driver, or MongoDB via mongodb-memory-server โ€” and asserts the observable runtime result). Unit-tier tests (SQL/AST/plan/type/snapshot assertions, or any test that never hits a database) do not qualify. Per-database rigor applies: a Postgres integration test cannot justify a SQLite or MongoDB โœ…, and vice versa.
  • ๐ŸŸก Untested โ€” reachable through the Prisma Next public surface, but no proving Prisma Next integration test exists yet (evidence left blank). This includes features whose only backing is a unit-tier test.
  • ๐Ÿงช Experimental โ€” shipped in Prisma Next but outside the stability promise (polymorphism / multi-table inheritance).
  • โŒ Not in 8.0 โ€” deliberately absent from Prisma Next.
  • โ€” n/a โ€” feature does not apply to that database.

Each row names exactly one capability. Where an operator/command/stage set was previously bundled, it has been split so every distinct feature carries its own per-database verdict and its own evidence.


Categories

CategoryFeature rows
Targets & connection14
Types & values15
PSL schema language44
Contract emission & authoring14
SQL query builder46
SQL ORM client52
MongoDB query & ORM81
Relations20
Filtering24
Ordering & pagination11
Aggregation & grouping20
Nested writes & atomic ops25
Raw & typed SQL9
Transactions9
Migrations123
Introspection (contract infer)26
CLI commands32
Extensions15
Observability & lifecycle13

The Migrations file gathers all twelve Migrations โ€” * sub-topics (workflow; columns & types; IDs, PKs & autoincrement; foreign keys; indexes & unique; enums; defaults; native types; extensions; views; existing-data safety; schema filters) as sub-headings within a single file.


Coverage summary

Group structure (30 groups): Targets & connection; Types & values; PSL schema language; Contract emission & authoring; SQL query builder; SQL ORM client; MongoDB query & ORM; Relations; Filtering; Ordering & pagination; Aggregation & grouping; Nested writes & atomic ops; Raw & typed SQL; Transactions; Migrations โ€” workflow; Migrations โ€” columns & types; Migrations โ€” IDs, PKs & autoincrement; Migrations โ€” foreign keys; Migrations โ€” indexes & unique; Migrations โ€” enums; Migrations โ€” defaults; Migrations โ€” native types; Migrations โ€” extensions; Migrations โ€” views; Migrations โ€” existing-data safety; Migrations โ€” schema filters; Introspection (contract infer); CLI commands; Extensions; Observability & lifecycle.

Verdicts are computed per feature row across the three DB columns; the tallies below count individual non-โ€” cells.

Across 593 atomic feature rows (one capability each), spanning 1,779 per-database cells (593 rows ร— 3 databases): โœ… 416, ๐ŸŸก 488, ๐Ÿงช 12, โŒ 244 (and 619 โ€” n/a cells).

Per-database tallies:

Databaseโœ…๐ŸŸก๐ŸงชโŒโ€”
Postgres2221364111120
SQLite85235498171
MongoDB109117435328