github.com
Prisma ORM Roadmap: March – May 2025 · Issue #26592 - GitHub
Excerpt
This quarter, our two major objectives are to deliver the Query Compiler to *Preview* and to enable the Prisma CLI to work in web contexts, such as StackBlitz or other web-based editors. We’re also improving the developer experience by: - Making Prisma-generated code ESM-compatible - Splitting Prisma's generated output into multiple files instead of one large file - Refining some tricky CLI commands (looking at you, `migrate dev`) ... As always, we're addressing a curated list of high-priority community issues alongside these major projects — this time targeting around 30 issues. … ## 3. ... Going forward, we’re deprecating the following behavior: - A deprecation warning will appear unless you specify an output path for generated code - Starting with Prisma 7, specifying an output path will be required We're also improving code generation quality: ... - Code will be **ESM-compatible** - We will no longer generate a `package.json` — you can define it yourself if needed ... Finally, we’re removing Prisma’s automatic loading of .env files. The `prisma.config.ts` file allows you to manage environment configuration directly for CLI commands, and we believe your ORM shouldn’t handle this behavior for your production application. Currently, this behavior is already disabled if a config file is present but retained for backward compatibility. In Prisma 7, it will be removed completely. … **Issues addressed by Query Compiler** - Context propagation for query logging #7596 - `prisma generate` tries to fetch engine checksum files from mirror even if custom engine locations are provided in an `.env` file #12593 - Allow `binaryTargets` as a CLI option #15267 **Issues addressed by Web-Compatible CLI** - Support Migrations, Introspection, Studio for Driver Adapters only databases (e.g. Turso, Cloudflare D1) #22184 - `__dirname is not defined` when generating PrismaClient to custom location, w/ SvelteKit #15614 - Support for Cloudflare's new SQLite database D1 #13310 … - `@prisma/nextjs-monorepo-workaround-plugin` is not able to handle multiple clients #18069 - Importing `enum` in browsers results in `Error resolving module specifier “.prisma/client/index-browser”. #12504 - Add support for Deno #2452 - Support ES6 modules export / ESM #5030 … **Issues addressed by Driver Adapters** - Using Prisma `NextJS` edge runtime leads to error #18763 - Set default values for schema `url` fields #222 **Issues addressed by promoting `schemaFolder` to GA** - Support for splitting Prisma schema into multiple files #2377 - bug(cli): `prisma format` does not format files other than `schema.prisma` when using `prismaSchemaFolder` preview feature #25136 - Feature: Remote schema #1563 … - Root `.env` variables aren't available to prisma in monorepo #12535 - Switch `.env` file based on `NODE_ENV` #3865 - importing prisma client pollutes `process.env` without using dotenv #19519 - Possibly reading `.env` file and schema twice #19117 … - Running `prisma migrate dev --create-only` actually applies previous (non-deployed) migrations #11184 - `migrate dev --create-only` with empty schema but existing database schema detects drift and warns about deleting all data #6579 - Allow calling `prisma migrate dev` programmatically by adding `--allow-non-interactive` flag #7113 - `prisma db reset` that resets the database, pushes the schema, and runs the seed function #11261 - `pnpm install` not running `prisma generate` #6603 - Large schemas generate huge `index.d.ts` causing slow autocomplete and type-checking in your editor #4807 … I agree, I find the lack of pg_vector support very serious as well. Raw Queries and typed sql do not really help here, because you then give up a lot of prisma's DX. Ideally prisma would not only allow you to declare Unsupported- db types in the schema (as it already allows you to do), but it would also provide a way to influence the query that is generated if you use such a type in the query.
Related Pain Points
Rust query engine incompatibility with edge runtime platforms
8The Prisma Rust query engine makes Prisma undeployable to Cloudflare Workers and other edge runtime environments, limiting platform compatibility.
Prisma environment variable handling breaks in monorepos and ESM contexts
8Prisma struggles to correctly load `.env` files in monorepo setups, doesn't support NODE_ENV-based `.env` switching, and silently pollutes `process.env` without explicit dotenv usage. Recent versions (6.7.0+) have introduced critical ESM-related module resolution failures across Turborepo, Next.js, Remix, and other frameworks.
Prisma migration commands are unreliable and dangerous in non-interactive contexts
7Prisma's migration system has multiple critical bugs: `prisma migrate dev --create-only` applies previous pending migrations unexpectedly, `migrate dev` cannot be called programmatically, and `db reset` lacks the ability to reset and reseed atomically. These issues make CI/CD integration and automated workflows fragile.
Prisma CLI does not work in web-based IDEs
7Prisma CLI cannot run in browser-based editor environments like StackBlitz due to Node.js dependencies and file system assumptions, preventing full Prisma workflows in web IDEs.
__dirname undefined error in SvelteKit with custom Prisma output
7When generating PrismaClient to a custom location in SvelteKit projects, Prisma produces code with undefined __dirname references, causing build and runtime failures.
Prisma schema limited to single file
6Prisma requires the entire database schema to be defined in a single file, which becomes unmanageable for large databases with thousands of lines. While third-party solutions exist, native support for splitting schemas across multiple files is missing despite being a common production need.
Missing pg_vector support limits vector database integration
6Prisma lacks native support for PostgreSQL's pg_vector extension, forcing developers to either use raw queries (losing type safety) or unsupported type declarations with no query generation support.
Large Prisma schemas cause severe type-checking and autocomplete performance degradation
6When projects exceed 100+ database models, Prisma's type generation produces enormous `index.d.ts` files that slow down IDE autocomplete, type-checking, and overall editor responsiveness, creating a significant developer experience penalty for complex database structures.
NextJS monorepo plugin unable to handle multiple Prisma clients
6The @prisma/nextjs-monorepo-workaround-plugin fails when projects need multiple Prisma client instances in the same monorepo, limiting the architecture patterns available.
postinstall script pnpm integration issue
5The `pnpm install` command does not run the Prisma generate postinstall script, preventing automatic client generation when using pnpm as the package manager.
Automatic .env file removal breaks backward compatibility
5Prisma 7 will remove automatic .env file loading, requiring migration of environment configuration management. While justified to separate concerns, this is a breaking change requiring careful migration planning.
Engine binary location configuration conflicts with mirror fallback
5When custom engine locations are specified in .env, Prisma still attempts to fetch checksums from the mirror instead of respecting the custom configuration, causing unnecessary network calls.
Missing support for Deno runtime
4Prisma does not officially support the Deno JavaScript runtime, limiting options for developers building Deno applications that need database access.