-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Comments
Will switching query Compiler from Rust to Typescript reduce memory usage for large queries? |
What will be the migration journey from 6 to 7 for the application running in prod ? |
@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! |
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? |
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? |
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 |
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. |
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:
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:
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:
3. ESM Support, No More
node_modules
& Splitting the OutputGoing forward, we’re deprecating the following behavior:
We're also improving code generation quality:
package.json
— you can define it yourself if neededThese 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:
package.json
or othernode_modules
specific files4. 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 GAdeno
preview feature is deprecatedmetrics
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
prisma generate
tries to fetch engine checksum files from mirror even if custom engine locations are provided in an.env
file #12593binaryTargets
as a CLI option #15267Issues addressed by Web-Compatible CLI
__dirname is not defined
when generating PrismaClient to custom location, w/ SvelteKit #15614Issues addressed by ESM Support
@prisma/nextjs-monorepo-workaround-plugin
is not able to handle multiple clients #18069enum
in browsers results in `Error resolving module specifier “.prisma/client/index-browser”. #12504export * from "@prisma/client"
in /home/[user]/Documents/[project]/packages/db/index.ts, this may lose module exports. Please export "@prisma/client" as ESM or use named exports instead, e.g.export { A, B } from "@prisma/client"
#21474Issues addressed by Driver Adapters
NextJS
edge runtime leads to error #18763url
fields #222Issues addressed by promoting
schemaFolder
to GAprisma format
does not format files other thanschema.prisma
when usingprismaSchemaFolder
preview feature #25136Issues addressed by no more node_modules
prisma generate
, typings not updating in VSCode unless IDE is restarted. #14722prisma generate
fails in yarn2 / yarn3 workspaces #8765Issues addressed by no more .env loading
.env
variables aren't available to prisma in monorepo #12535.env
file based onNODE_ENV
#3865process.env
without using dotenv #19519.env
file and schema twice #19117.env
Files #3226.env
files natively #11050@prisma/client
magically loading.env
file (and mutatingprocess.env
in the process) #15620.env.local
#15681Some other issues we really want to address
prisma migrate dev --create-only
actually applies previous (non-deployed) migrations #11184migrate dev --create-only
with empty schema but existing database schema detects drift and warns about deleting all data #6579prisma migrate dev
programmatically by adding--allow-non-interactive
flag #7113prisma db reset
that resets the database, pushes the schema, and runs the seed function #11261pnpm install
not runningprisma generate
#6603index.d.ts
causing slow autocomplete and type-checking in your editor #4807SELECT
aftercreate()
#4246The text was updated successfully, but these errors were encountered: