I've been using Prisma for about a year now. It works just fine. There are some limitations to be aware of, especially with relations, but they are well explained/documented and it wasn't too hard to work around. I'm not sure why all the negative reviews. What kind of queries are you guys needing to write? Answer from ouarez on reddit.com
🌐
Reddit
reddit.com › r/node › current opinion on prisma?
r/node on Reddit: Current opinion on Prisma?
July 26, 2024 -

I am currently using Drizzle, and I am running into issues where Drizzle just wouldn't insert the correct boolean value into my Postgres database. Like I made sure that the value being inserted is correct before I add it to my insert statement, but the ORM is still inserting it incorrectly to our database.

I also noticed that the Drizzle has open bugs on things that should've been solved at the start, like this GitHub issue.

Granted, Drizzle doesn't have their 1.0 release yet, and so the ORM can drastically change over time, but we need something that actually works, and doesn't have bugs at the fundamental level.

So I am currently revisiting this topic of ORM's, and I am considering Prisma. Granted, it's notorious for not supporting joins at the database level. But now that it does have it, I want to know if any of your opinions of Prisma has changed?

Is Prisma now a lot better than how it was before?

For my use case, we don't need edge as it's some internal app. Having great performance would be nice, but we absolutely need correctness here. The ORM should not be inserting incorrect values to the database. It must have good migration and type support. We want to avoid having to create all the types ourselves, so we want to make use of its query builder to help us with that.

So given this, would you recommend Prisma? Or do you have other alternatives?

Prisma, TypeORM, or something else? Mar 16, 2024
r/node
2y ago
Is Prisma limited? Jun 10, 2025
r/node
last yr.
Sequelize vs Prisma Oct 9, 2023
r/node
2y ago
Prisma pros and cons Sep 20, 2023
r/nextjs
2y ago
More results from reddit.com
🌐
Reddit
reddit.com › r/node › which postgresql node.js client library to choose today?
r/node on Reddit: Which postgreSQL node.js client library to choose today?
August 17, 2023 -

Raw queries, ORM, Query builder, code generators etc which pg client library would you choose with Node.js today in production?

Popular ones are: 1] Knex 2] Sequalize 3] TypeORM 4] Prisma 5] Drizzle 6] MikroORM

If you can also comment on "why" that would also be great. If there is any new recommendation that is also great

🌐
Reddit
reddit.com › r/node › which postgres client should we be using?
r/node on Reddit: Which Postgres Client Should We Be Using?
February 26, 2024 - I'm told Prisma is only good for hobby projects.. 😉 ... It requires running a rust client on your server so if you're using edge/serverless, it takes time to load into memory, so it requires polling to keep alive in order to reduce latency.
🌐
Reddit
reddit.com › r/node › do not use prisma for production heavy applications
r/node on Reddit: Do not use Prisma for production heavy applications
May 28, 2024 -

Prisma is the worst for production heavy (I will go as far as to say for any) applications. I had really high hopes for it, and pitched to use Prisma ORM for our new microservice, however, 6 months in, it became disgustingly hard to maintain and justify resource consumption. I can provide several examples where we had a trouble with it.

For the context, we are running k8s node+express backend server, our queries are simple (no relative queries or anything, just retrieving record - updating record - writing record). We had 4 pods on average with 400mb RAM (scaled to 1000mb due to Prisma) - and Prisma was crashing with P1001 or P1024 errors, randomly, out of nowhere. We spent days if not weeks trying to figure out what's going on (yes, we also looked at their "suggestions" - these are jokes like optimize your query, manually limit connections etc etc), the best quick patch was to scale AWS RDS, but upon further investigation we found the following:

  • Prisma has issues with killing connections on pod death

    • trying to fix it with manual killing didn't help, we literally at some point had 100 connections dangling somehow (4 pods 9 connection limit = 36 connections, not 100 :/ )

  • Prisma has high error rate even in simple queries!!! We didn't get flagged on these, since we were assuming it within acceptable error range for us, but it's something you should be aware of. This article claims it was within 2% rate. In our manual tests (local pg - 20ms delay between requests - 1200 total) - we managed to get 20-30% rate that is not recovering, which is a joke to be honest, how the hell VCs are even funding that?

Our main assumption that the issue has to do with their internal engine, I think it lacks decent optimization at this point in time. In the end we switched to another provider (Drizzle) with node-pg as the engine, which seems to be the best and more stable solution in the market. So far we are extremely happy, since we can type cast on schema, which was lacking in Prisma, and both performance and stability allow us to not even think about it.

If you still considering using Prisma, please, use the Hexagonal Architecture and split your DB from the service by at least one layer. That will allow you to switch to another db in days, without having a headache of updating every single consumer :)

Top answer
1 of 5
48
I have been running Prisma in prod for a few years and never had those issues. I wouldn't recommend Prisma for future projects, but not for the reasons you mentioned.
2 of 5
39
I'd love to hear others' takes in this. I've never seen these problems with Prisma. Coming from a "safety in numbers" background, drizzle is the talked-about ORM I avoid most. I think it'll go the way of kysely. In fact, its userbase looks just like kysely . Here's why I use Prisma in production. Because my meaningful options consist of prisma, typeorm, and sequelize. Typeorm would be my favorite, but maintenance has gone downhill and (for most queries) TypeORM does no better than Prisma at scale or in benchmarks. I don't use Sequelize because it's just nowhere near the same realm as Prisma WRT typesafety. That leaves Prisma. Now, if your experience with Prisma were true for me (or for those who use it in prod), none of us would be using Prisma, obviously. I don't know what I'd be using because I'd be down to zero ORMs that seem like conservative business tech decisions. It sounds like you are having or had connection pool issues. Those suck to get to the bottom of. I've had them with raw SQL connection pooling in various infra in the past. I've had them with node-pg in the past, too. ...that said, I would strongly encourage one put in a LOT of thought before going hexagonal/onion solely out of the paranoid fear they would need to throw out prisma someday. I have had to struggle swapping repositories multiple times (in my case, change of database back-end entirely), and even I am hesitant on the idea of separating your repository from your model without some reason that is far more compelling than "what if my well-supported ORM is suddenly not good enough for me". I know companies that do 100k requests/sec and prisma works fine for them. I don't know what they do differently than OP, but "I'm afraid of Prisma burning me" is a terrible reason to design your stack in a certain way.
🌐
Reddit
reddit.com › r/node › postgresql + prisma vs supabase - trying to make the right choice before launch
r/node on Reddit: PostgreSQL + Prisma vs Supabase - trying to make the right choice before launch
February 3, 2026 -

I’m about to launch my first project (Chrome extension) and questioning my database decision. Built everything with PostgreSQL and Prisma, but wondering if I should switch to Supabase before going live.

What I’m storing:

∙ User authentication (accounts, sessions)

∙ Subscription tiers and usage quotas

∙ Request history and some cached data

Pretty standard SaaS stuff. Nothing complex, but could scale to a decent number of users if things go well.

Current setup:

Node.js backend with Express, PostgreSQL database, Prisma as the ORM. I built the JWT auth flow myself - login, signup, password resets, token refresh, the whole thing. Took a while but it works.

I keep reading about Supabase having built-in auth and real-time features. The auth part is tempting since I’m not confident my implementation is bulletproof. But I’m not sure if Supabase even fits my architecture.

From what I understand, Supabase is designed for direct client-to-database access. My setup has the Chrome extension talking to my Express backend, which then talks to the database. Does Supabase make sense for that pattern or am I thinking about it wrong?

Is this one of those things where the choice doesn’t really matter for a small project, or are there actual tradeoffs I should consider?

For those who’ve built similar projects, what would you go with? Or should I just stick with what’s working and stop second-guessing myself?​​​​​​​​​​​​​​​​

🌐
Reddit
reddit.com › r/docker › dockerize node, postgres and prisma
r/docker on Reddit: Dockerize Node, Postgres and Prisma
May 22, 2023 -

I am trying to dockerize a Node server running Express and Prisma, and an instance of Postgres.

The goal is to have a single repo, where I can type docker-compose up and everything is spun up at once, in the right order. From what I have found online, it seems that the Postgres container needs to be fully functioning before the Node container should spin up.

At which point in this chain should the PrismaClient information be generated/copied, and using what command? npx prisma generate or npx prisma migrate dev or something else?

I am a bit burnt out on this, to the point that I've tried probably 20 different solutions, Dockerfiles, docker-compose files, tweaking, resetting, etc. With that being said, I'm probably not even articulating what is going wrong properly.

Does anyone have an example of a working Dockerfile, docker-compose.yml, the right scripts in package.json, etc. that successfully build a Postgres server, Node server, and handle all of the Prisma requirements in the right order to make composing up/down quick and easy?

Thank you in advance!

🌐
Reddit
reddit.com › r/node › best orm for postgresql in node.js?
r/node on Reddit: Best ORM for PostgreSQL in Node.js?
September 3, 2024 -

I have experience working with MongoDB using Mongoose in Node.js, but now I'm planning to switch to PostgreSQL. I’m not sure which ORM to use for PostgreSQL. Can anyone suggest the best ORM for working with PostgreSQL in Node.js?

Find elsewhere
🌐
Reddit
reddit.com › r/node › is prisma orm still next generation, or has it finally become current generation?
r/node on Reddit: Is Prisma ORM still next generation, or has it finally become current generation?
November 14, 2024 -

I always find it funny that tools describe them as 'next-gen' either stay in the 'upcoming' or 'next-gen' status, or die out before they become current lol. Did they finally fix their SQL joins?

🌐
Reddit
reddit.com › r/node › new to node. does prisma suck?
r/node on Reddit: New to node. Does prisma suck?
October 28, 2024 -

I'm new to node as of the last month. I started my project with prisma cause it seemed to be a popular ORM.

I have found it PAINFUL to work with. I don't understand what problem it solves. It's less user friendly and less functional than straight SQL. I run into constant issues trying to do what should be basic things.

Does it really suck or is this just cause I'm a beginner? Is there a better alternative? Currently eyeing Drizzle.

Edit: Appreciating the insights. After reading some responses I'm now leaning towards Kysely since its type safe but let's me basically write SQL which j prefer.

🌐
Reddit
reddit.com › r/node › do you think prisma should focus on just one battle-tested database like postgresql or should it cover everything?
r/node on Reddit: Do you think Prisma should focus on just one battle-tested database like PostgreSQL or should it cover everything?
December 21, 2020 -

I really think it's a stupid idea to cover so much ground when in reality most people don't switch databases that often.

Do you also think it's a stupid idea or have you seen examples where people have constantly changed databases while running a huge production site which I know nothing about?

Top answer
1 of 3
6
Different projects require different databases. E.g. you wouldn't ship (or instruct your users to setup) PostgreSQL with your consumer facing electron app, SQLite is the better fit. Also excluding a majority of people that are already using a specific database and want to have better tooling for interacting with the database would be bad for their marketing mantra, supporting multiple databases is good for wider adoption. Having said that, I definitely see your point. A tool that is less specialized for a certain database always lacks behind newer database features, as the team is busy keeping up with multiple databases. I am currently using the SQLite version for a smaller Node.js server app and already feel a bit limited on not having the possibility to declare database triggers with the migration tool. Also I noticed that the binaries provided by prisma are huge. They make up like 75% of my production node_modules with 86mb for the cli binary (I need it inside the production docker image for running migrations before starting the app). I would love if instead they would also provide a light weight migration tool that generates a sql file one can be run on application startup (instead of running a cli command before starting the app) and also edited manually after generation for adding triggers. Of course nobody is forcing me to use the migration tool, but I would also like to avoid adding another library for handling database migrations...
2 of 3
3
What do you think changing the database is the only reason for prisma covering multiple providers? What about starting a new project and wanting to use mysql for example?
🌐
Reddit
reddit.com › r/dataengineering › etl pipeline with node.js, prisma, and postgres for superset reporting – seeking advice
r/dataengineering on Reddit: ETL Pipeline with Node.js, Prisma, and Postgres for Superset Reporting – Seeking Advice
March 1, 2025 -

Hi all,

I'm developing an ETL service for an online ordering platform that manages products, inventory, orders, and accounting. Our primary application uses MongoDB (about 30GB across 50+ entities), and I'm tasked with creating a Node.js service (using Prisma) that listens to RabbitMQ events and stores data in Postgres. For our Superset reporting dashboard—hosted in a Docker container with Postgres on Digital Ocean—we’re constructing datasets from approximately 35 materialized views refreshed at intervals (5, 10, 15, or 60 minutes) due to performance issues with regular views and table indexes. Currently, the primary/foreign keys on the tables are stringified Mongo ObjectIDs.

I’d appreciate insights on the following:

  • Is this solution viable given the data volume and complexity?

  • Are there better alternatives to using materialized views for our reporting needs?

  • Will storing Mongo ObjectIDs as strings hurt performance compared to integers, especially regarding indexing and model consistency with Prisma?

  • Is there an alternative to Superset that is both low-cost and manageable?

Any recommendations or insights are greatly helpful.

Top answer
1 of 3
3
This sounds like overkill. Why would you write something from scratch? Are you stuck with using RabbitMQ as the intermediary? Otherwise you could just use Airbyte with MongoDB CDC (here: https://docs.airbyte.com/integrations/sources/mongodb-v2 ) or DLT with incrementals of MongoDB ( https://dlthub.com/docs/dlt-ecosystem/verified-sources/mongodb ) to pull the data .. then do what you want and probably use the Airbyte PG Dest ( https://docs.airbyte.com/integrations/destinations/postgres ) or the DLT sink ( https://dlthub.com/docs/dlt-ecosystem/destinations/postgres ) ... or you can use prefect, dagster, etc. for orchestration and essentially set up your pipes with that. Like .. there's dozens of ways to use off the shelf OSS to do this w/o having to build in all of our own logic. On to your questions * Is this solution viable given the data volume and complexity? - I'd do something more like the above. PG should be fine with that, but if you're mostly gonna be doing OLAP-y bits, I'd potentially look at platforms more geared to analytics (in particular columnar like Clickhouse, doris, starrocks, hell .. maybe even DuckDB)) * Are there better alternatives to using materialized views for our reporting needs? - Sure. Using something like DBT / SQLMesh to run DAG like data products * Will storing Mongo ObjectIDs as strings hurt performance compared to integers, especially regarding indexing and model consistency with Prisma? - Meh. I think Prisma should have nothing to do with this. If you want to do reporting / warehousing-like aspects then follow those standards. Is there an alternative to Superset that is both low-cost and manageable? - Lots. Metabase is fine. Redash is fine. Depends on what you're _really_ trying to do with things (those are all open source obvi)
2 of 3
2
Using node.js for data intensive service is blasphemy and a waste of compute resources.
🌐
Reddit
reddit.com › r/node › new post: is prisma better than your 'traditional' orm?
r/node on Reddit: New post: Is Prisma better than your 'traditional' ORM?
December 6, 2022 -

Even if you live on Mars, you couldn't escape the big Prisma ORM hype

How is Prisma different than 'traditional' ORMs (TypeORM, Sequelize)? is it better? is it now the supreme choice for your next project ORM?

My new blog post covers these questions with code examples and numbers. It also includes a short hello-world section to give you a sense of how Prisma syntax looks like

Am I an ORM expert? Not at all. Although I have vast experience with databases, I'm writing from the perspective of a casual developer who seeks the right ORM for his next project. Hope you like it

https://practica.dev/blog/is-prisma-better-than-your-traditional-orm

Top answer
1 of 9
68
Sequelize core maintainer here! This is a great article. If you'll allow me, I wanted to give a few notes about Sequelize. Mostly about the upcoming Sequelize 7 :) Sequelize, for example, struggles to stabilize a TypeScript interface That was mainly due to Sequelize being written in JavaScript with type definitions written separately. Sequelize 7 is being rewritten in TypeScript and we've fixed so many typing issues! offers 3 different syntaxes + one external library (sequelize-typescript) that offers yet another style. I only know of two different syntaxes, so I may be misunderstanding you The good news is: sequelize-typescript is being ported into Sequelize as we speak, and its approach is going to be the recommended one starting with v7. The old approaches are not deprecated but are considered legacy. So the proper approach when using Sequelize is this one: class Order extends Model, InferCreationAttributes> { @Attribute(DataTypes.NUMBER) @PrimaryKey @AutoIncrement declare id: CreationOptional; @Attribute(DataTypes.NUMBER) @NotNull declare price: number; } You actually don't need to write OrderAttributes or OrderCreationAttributes. InferAttributes and InferCreationAttributes look weird, but it's not because we're trying to squeeze typescript in, but because we want users on v6 to be able to access the new simpler model definition without having to wait for the next major. In a future major release, models will be further simplified to this: class Order extends Model { @Attribute(DataTypes.NUMBER) @PrimaryKey @AutoIncrement declare id: CreationOptional; @Attribute(DataTypes.NUMBER) @NotNull declare price: number; } Wondering what CreationOptional is? It let's Sequelize know that "id" can be omitted when you call Order.create! :) As soon as TypeScript supports altering the type using decorators (which IIRC they're planning for the new decorators proposal), CreationOptional will become redundant and the model definition will be even further simplified Regarding querying: await getOrderModel().findAll({ // as you said, this is already strictly checked where: { noneExistingField: 'noneExistingValue' }, // I've fixed the last thing that prevented us from strictly checking this in v7. Expect this attribute to become strictly typed soon :) attributes: ['none-existing-field', 'another-imaginary-column'], // This one will also become strictly typed at some point, but we still have a few pre-requisites to complete first. Planned though! include: 'no-such-table', }); And for findByPk: await getCountryModel().findByPk('price') This is an interesting one. Thank you for getting it to my attention. Sequelize needs a way to know what the type of the PK is, and I think I could make that possible by introducing a new PK type like CreationOptional class Order extends Model { @Attribute(DataTypes.NUMBER) @PrimaryKey @AutoIncrement declare id: TPrimaryKey>; } // now sequelize knows that the PK of Order is of type number and can make this an error: await Order.findByPk('price'); Both also support other better patterns like the data mapper Unfortunately Sequelize does not support Data Mapper yet . That's something I'm actually working on right now as part of the migration of our codebase to TypeScript Sequelize documentation is mediocre That is objectively true :) I hope to be reassuring by saying that we know about it and we're also working on a full rewrite [about logging] This is better than nothing, but assuming you don't read production logs 24/7, you'd probably need more than logging While not perfect, did you know that you could set the "logging" option of the Sequelize constructor to a function? It gets called any time Sequelize needs to log something. I'm planning the design of the new API and I'll try to keep this issue in mind for it This is barely enough to cover a daily Starbucks cappuccino and croissant (6.95$ x 365) for 5 maintainers. Ahah yeah, I'm thankful I have a good job But at this point Sequelize is "too big to fail" imo. It's 13 years old (hence all the legacy ways of using Sequelize. It survived the many times we changed how we as a community write JavaScript) and while it has every now and then gone for a year without maintainers (I think that happened twice?), someone always eventually picked it back up (at least so far) (apologies for typos and awkward phrasing, I had to type this in a hurry :x)
2 of 9
13
Can the moderators enforce a rule against guerilla marketing and full disclosure of affiliations for post on the nodejs sub? Swear to god every second day there is some guerilla marketing prisma crap going on, or paid prisma shill posting as if they are normal people on reddit.
🌐
Reddit
reddit.com › r/node › prisma or drizzle
r/node on Reddit: prisma or drizzle
March 30, 2026 -

I'm about to start a project at work—it'll be an Express API—and I'm trying to decide which ORM to use. I really like Drizzle, but I'm a bit concerned that it doesn't have many features for handling migrations, and I've noticed that Prisma has improved a lot. What do you think?

🌐
Reddit
reddit.com › r/node › what's the best nodejs orm in 2026?
r/node on Reddit: What's the best nodejs ORM in 2026?
March 29, 2026 -

For a personal project I'm looking for a modern nodejs ORM or a query builder. I've done a lot of research and it's hard to know what's the best so I've done an excel spreadsheet :

ORMs Coded in typescript Query style
Prisma TRUE Schema + client API
Typeorm TRUE Decorators + Active Record/Data Mapper
Mikro-orm TRUE Data Mapper
Sequelize (half) Active Record
Query-builders
Drizzle TRUE Query builder + light ORM
Kysely TRUE Query builder
Knex _ Query builder
Objection _ Query builder + light ORM (Knex-based)

So far I have tested Drizzle and Prisma :

- Drizzle : I liked the simplicity and the fact that it's close to SQL. But I disliked a few things. Most of it is linked to the documentation and feedback from the CLI. First of all the maintainers don't even speak english properly so the documentation feels a bit low-cost. And most importantly, the Drizzle-kit CLI doesn't even give you any feedback when there is an error. It just stops without doing anything.

- Prisma : I tried it because ChatGPT told me it was the most popular and modern. I really liked the documentation and the CLI gives me good, verbose feedback when there is a problem. My only worry is that it's made by a company who seem really desperate for money because they are pushing a product that nobody cares about (Prisma Postgres).

What are your opinions? Should I stick to Prisma? (so far my best choice, but i'm open to alternatives).