makerkit.dev
Drizzle vs Prisma ORM in 2026: A Practical Comparison for ...
Excerpt
**Pain points with Prisma**: - The `prisma generate` step adds friction during development. In my experience, the most common support question from MakerKit customers is "why are my types wrong?" - almost always because they edited the schema and forgot to regenerate. Your IDE shows errors until you remember to run the command. - Binary targets for different platforms can cause deployment issues (less so with v7) - Large schemas can slow down type checking (improved in v7) **Pain points with Drizzle**: ... … 1. **Using `db push` in production** — Both ORMs have push commands for rapid prototyping. These skip migration files and can cause data loss. Always use `migrate` commands in production. 2. **Missing indexes on foreign keys** — Neither Prisma nor Drizzle auto-create indexes on foreign keys. Add them explicitly for any column used in JOINs or WHERE clauses, or queries will slow down as data grows. … 5. **Forgetting `prisma generate` after schema changes** — The most common Prisma support issue. Your IDE shows type errors until you regenerate. Consider adding it to your git hooks. 6. **Mixing Prisma `$transaction` with raw SQL** — Transaction boundaries behave unexpectedly when combining Prisma client calls with `$queryRaw`. Stick to one approach per transaction. … Drizzle has significantly smaller bundle size, which means faster serverless cold starts. ... What are the disadvantages of Prisma? Prisma's main drawbacks include: the required 'prisma generate' step after schema changes, less SQL control for complex queries, and historically tricky edge runtime support (improved in v7).
Related Pain Points
Transaction boundary issues when mixing Prisma and raw SQL
6Combining Prisma Client calls with `$queryRaw` within `$transaction` blocks causes unexpected transaction boundary behavior, requiring developers to choose one approach per transaction.
Prisma generate step friction in development workflow
5Developers must run `prisma generate` after schema changes to regenerate types. Forgetting this step causes IDE type errors and is reported as the most common support question. The step blocks the development workflow when running concurrent processes.