Back to projects
16 Dec 2025
2 min read
No ORM logo

No ORM

A different approach to ORMs in your Typescript server.

The no-orm website already has a lot of detail about this project so I don’t want to repeat too much here. Please go check it out!

Motivation

Most products will have an API server that talks to some kind of database. ORMs are great because they save you having to duplicate your database concepts in your server’s application code. But this comes at the cost of further abstraction and complexity.

Me personally, I like to live closer to the database. I’ve found this results in less complexity and therefore more maintainable servers.

no-orm is inspired by a different approach to ORMs that I have seen in various teams and companies. Whenever I work at a company that uses an ORM, I miss this approach.

No ORM at a high level

With a traditional ORM, you start by defining your entities and the ORM will generate your schema.

ORM philosophy

With no-orm, you start by defining your schema and it will give you your entities!

ORM philosophy

no-orm can be installed as an npm package developer dependency here.

npm install -D no-orm-cli

Then you can execute the generate command against your database to generate Typescript code which can be used in your Typescript server.

npx no-orm generate --config-path no-orm.config.ts

See the example server here.

Read the docs here for example output.