Skip to content

Prisma ORM Roadmap: March – May 2025 #26592

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
3 of 22 tasks
wmadden opened this issue Mar 12, 2025 · 8 comments
Open
3 of 22 tasks

Prisma ORM Roadmap: March – May 2025 #26592

wmadden opened this issue Mar 12, 2025 · 8 comments
Labels
domain/client Issue in the "Client" domain: Prisma Client, Prisma Studio etc. domain/schema Issue in the "Schema" domain: Prisma Schema, Introspection, Migrations etc. kind/feedback Issue for gathering feedback.

Comments

@wmadden
Copy link
Contributor

wmadden commented Mar 12, 2025

3 Month Roadmap: March, April, May

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)

Our last major initiative is to finalize the Prisma 7.0.0 API and upgrade path. We’ll share more details over the next three months, aiming to go live with Prisma 7 in June (or thereabouts).

As always, we're addressing a curated list of high-priority community issues alongside these major projects — this time targeting around 30 issues.

1. Query Compiler Preview Release

Last quarter, we implemented a core subset of the Prisma Client API using the new Query Compiler architecture. Read more about its performance benefits.

The initial work validated our approach and allowed us to benchmark performance improvements. This quarter, we’re bringing those benefits to the community by releasing the Query Compiler in Preview, one database at a time. More details will follow with each release.

Query Compiler is released in Preview and supports:

  • Prisma Postgres
  • Postgres
  • MySQL
  • SQLite
  • MongoDB
  • MariaDB

2. Enable the Prisma CLI In Web Contexts

Running the Prisma CLI in StackBlitz or similar environments currently fails because Prisma relies on native binaries compiled from our Rust codebase. This quarter, we’ll enable the CLI to work in web contexts by using WebAssembly (Wasm) instead.

This requires enabling the CLI to use Driver Adapters, similar to how the Prisma Client does. This will also unlock migration support for previously unsupported databases like SQLite and D1.

We’ll release the new CLI implementation into Preview this quarter, including Driver Adapters for all our First-Class Databases (and a few others).

Web-Compatible Prisma CLI released in Preview and supports:

  • Prisma Postgres
  • Postgres
  • MySQL
  • SQLite
  • MongoDB
  • MariaDB
  • D1
  • SQLServer

3. ESM Support, No More node_modules & Splitting the Output

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:

  • Generated output will be split into multiple files instead of one large file
  • Code will be ESM-compatible
  • We will no longer generate a package.json — you can define it yourself if needed

These changes complement the Query Compiler work, as generated output will no longer include native Rust binaries, making the output smaller.

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.

Code generation with Prisma:

  • Is ESM-compatible
  • Outputs a deprecation warning if no output path is specified
  • Outputs multiple files instead of one large file
  • No longer includes package.json or other node_modulesspecific files

4. Preview Feature Updates

As we prepare for Prisma 7, we’re adjusting the timeline for several preview features:

schemaFolder → Moving to GA (with potential minor API changes)

deno → Deprecated (Prisma now works on Deno natively with ESM-compatible output)

metrics → Deprecated (will no longer function once the Query Compiler reaches GA)

postgresExtensions → Deprecated (it didn’t meet expectations — thanks for the feedback)

Preview feature updates:

  • schemaFolder is in GA
  • deno preview feature is deprecated
  • metrics is deprecated (removed in v7)
  • postgresExtensions is deprecated (removed in v7)

5. Address Highly-Upvoted Issues

Last quarter, we committed to resolving 5 highly upvoted issues. This quarter, we’re stepping it up — targeting at least 38 issues.

While we may not hit them all, we aim to close most of them. We’ll also address bug fixes and other unplanned issues along the way.

Issues addressed by Query Compiler

Issues addressed by Web-Compatible CLI

Issues addressed by ESM Support

Issues addressed by Driver Adapters

Issues addressed by promoting schemaFolder to GA

Issues addressed by no more node_modules

Issues addressed by no more .env loading

Some other issues we really want to address

@wmadden wmadden pinned this issue Mar 12, 2025
@aqrln aqrln added kind/feedback Issue for gathering feedback. domain/schema Issue in the "Schema" domain: Prisma Schema, Introspection, Migrations etc. domain/client Issue in the "Client" domain: Prisma Client, Prisma Studio etc. labels Mar 13, 2025
@vimutti77
Copy link

Will switching query Compiler from Rust to Typescript reduce memory usage for large queries?

@Nabwinsaud
Copy link

What will be the migration journey from 6 to 7 for the application running in prod ?

@jharrell
Copy link
Member

jharrell commented Mar 20, 2025

@vimutti77 @Nabwinsaud thank you both for your questions! We actually answered them live on our latest dev AMA

The TL;DR is that, yes, we do expect there to be some memory and CPU usage improvements in the new version, although not directly related to the switch from Rust to TS.

As for the migration journey: expect a standard upgrade guide like you have from 4 to 5, or 5 to 6. In addition to that, we'll recommend enabling a set of preview features so you have to change as little as possible. Finally, we're looking into a codemod or similar to help with the transition.

Thanks again for your questions!

@lorenzobalzani
Copy link

Hi, #3388 has been around for quite a while and has received a significant number of upvotes. Would now be a good time to consider adding it to the roadmap?

@kratos-respawned
Copy link

So now that postgresExtensions are deprecated, what is the ideal way to use PostGIS in a Prisma application, as my project heavily relies on it?

@hrithiqball
Copy link

what about other preview features? prisma is lacking behind drizzle in typedsql raw and joins should be default by now. also mongo migrate would be awesome

@andrewreid
Copy link

So now that postgresExtensions are deprecated, what is the ideal way to use PostGIS in a Prisma application, as my project heavily relies on it?

Ideally, we need to see a strategy for dealing with the myriad different extensions and different types the Postgres ecosphere is coming up with. It's frustrating to not be interact natively with those types. I'm finding the lack of pg_vector support a bit of a pain point at the minute – and I'm sure there are a bunch of other people with their own example.

@macrozone
Copy link

So now that postgresExtensions are deprecated, what is the ideal way to use PostGIS in a Prisma application, as my project heavily relies on it?

Ideally, we need to see a strategy for dealing with the myriad different extensions and different types the Postgres ecosphere is coming up with. It's frustrating to not be interact natively with those types. I'm finding the lack of pg_vector support a bit of a pain point at the minute – and I'm sure there are a bunch of other people with their own example.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain/client Issue in the "Client" domain: Prisma Client, Prisma Studio etc. domain/schema Issue in the "Schema" domain: Prisma Schema, Introspection, Migrations etc. kind/feedback Issue for gathering feedback.
Projects
None yet
Development

No branches or pull requests

10 participants