Our great sponsors
-
Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
amplication
🔥🔥🔥 Open-source backend development platform. Build production-ready services without wasting time on repetitive coding.
-
Knex
A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I work at Prisma and we've built a new kind of ORM for Node.js. Prisma works differently compared to most traditional ORMs since it uses its own schema language to define application models which look like this:
We're also humbled that modern Node.js frameworks like RedwoodJS (created by GitHub founder Tom Preston-Werner), KeystoneJS and other dev tools like Amplication and WASP are using Prisma as their ORM.
We're also humbled that modern Node.js frameworks like RedwoodJS (created by GitHub founder Tom Preston-Werner), KeystoneJS and other dev tools like Amplication and WASP are using Prisma as their ORM.
We're also humbled that modern Node.js frameworks like RedwoodJS (created by GitHub founder Tom Preston-Werner), KeystoneJS and other dev tools like Amplication and WASP are using Prisma as their ORM.
In addition, I'd recommend using Sequelize Auto:
Personally I've mostly used raw queries and Knex. ORMs are nice to start with but often they just don't perform well enough when the project gets more complex.
When I need CRUD-like interaction with application clients I use Graphile, which serves a GraphQL server based on your Postgres schema. My service layers more often use Slonik for highly customized queries and the elusive SQL syntax highlighting in Node/TypeScript.
I made the transition from LAMP to Node-based stacks 6 or 7 years ago and started out using BookshelfJS. Node is a different world though, one that lends itself to distributed services and server-less infrastructure, and it's changed how I interact with DBs.