Best forA schema-first ORM with generated types and migrations.
Trade-offA generated client and its own schema language sit between you and SQL; complex queries often drop back to raw SQL.
Used by 37 makers' products for this
Not a ranking: each option is described by the situation it fits, with its trade-off, whether it's open source or free to start, whether AI coding agents can work with it, and how many makers' products use it for this job.
Schema-first ORM, SQL-shaped query builder, or the platform's own SDK. A schema-first ORM generates types and migrations from one schema file and hides the SQL; a SQL-shaped ORM or query builder keeps queries close to SQL with full types and a smaller runtime; a backend platform (Supabase, Convex, Firebase) comes with its own client, and adding an ORM on top is often unnecessary.
SQLAlchemy (SQL-shaped ORM): Python backends (FastAPI, Flask, scripts) that want an ORM or a SQL toolkit over any relational database. Trade-off: A large API with two styles (ORM and Core); migrations come from a separate tool, Alembic.
Best forA schema-first ORM with generated types and migrations.
Trade-offA generated client and its own schema language sit between you and SQL; complex queries often drop back to raw SQL.
Used by 37 makers' products for this
Best forA thin, SQL-like TypeScript ORM that runs well on serverless and edge runtimes.
Trade-offCloser to SQL means you need to know SQL, and there are fewer guides and integrations than for Prisma.
Used by 10 makers' products for this
Best forA type-safe SQL query builder for TypeScript, with no schema file or code generation step of its own.
Trade-offA query builder rather than a full ORM — migrations are basic and relations are joins you write.
No maker product tracked for this yet
Best forClass-and-decorator entities in TypeScript, especially in NestJS apps.
Trade-offType safety on queries is weaker than Drizzle, Kysely or Prisma.
No maker product tracked for this yet
Best forModels, associations and migrations in plain JavaScript Node.js apps, especially existing Express codebases.
Trade-offBuilt before TypeScript was common, so typing is added on and query results are weakly typed; the next major version has been in alpha for years.
No maker product tracked for this yet