Compatibility
| Integration | Status |
|---|---|
| Prisma ORM 7.1+ | Ready |
| PostgreSQL | Ready |
| MySQL · MariaDB | Ready |
| SQLite | Ready |
| React Router 7.9+ · 8 · Remix | Ready |
| Vite 6+ | Ready |
| Express 4.18+ · 5 | Ready |
| Fastify 4.26+ · 5 | Ready |
| NestJS 12 | Ready |
| Koa 3 | Ready |
| Hapi 21 | Ready |
| Hono 4 on Node | Ready |
| Next.js | Planned |
| Prisma ORM 8 | Planned |
Prisma versions
Section titled “Prisma versions”- Prisma 7.1 and later are supported, and tested on the oldest and the newest in CI.
- Prisma 6 is not: it has no SQL comments, and its query engine runs the driver adapter outside the request’s async context, so statements cannot be tied to their request.
- Prisma 8 needs its own integration, built on its new middleware, once it is stable.
Databases
Section titled “Databases”Through Prisma’s own driver adapters, tested in CI with the same checks on each: operations and their lines, SQL and parameters, batch and interactive transactions, errors, hidden secrets and the N+1 warning.
- PostgreSQL, with
@prisma/adapter-pg, tested on 18. Raw SQL sent withpgis recorded too, throughprofilePool(). - MySQL and MariaDB, with
@prisma/adapter-mariadb, tested on MySQL 8.4 and MariaDB 11.4. - SQLite, with
@prisma/adapter-better-sqlite3.
Node servers
Section titled “Node servers”The preload works with any framework that serves through Node’s http module.
CI runs the same requests, with Prisma against PostgreSQL, in each of these:
- Express 4.18 and later, 5 included, tested on 4.18.0, 5.0.0 and the newest. Before 4.18, Express’s body parser drops the request’s async context: a route that reads a body loses its queries.
- Fastify, tested on 4.26.0, 5.0.0 and the newest.
- Koa 3, Hapi 21, NestJS 12 on Express, and Hono 4 on
@hono/node-server.
Node 22.19+ or 24.5+, tested on 22.19, the newest 22 and the newest 24. The preload gives your app’s
imports of the profiler its real code through Node’s synchronous module hooks: before those versions,
Node ignores the conditions such a hook adds on import and throws on them in require(). Node 20,
whose support ended in April 2026, lacks those hooks altogether.