Need advice about which tool to choose?Ask the StackShare community!
Sequelize vs TypeORM: What are the differences?
Developers describe Sequelize as "Easy-to-use multi sql dialect ORM for Node.js & io.js". Sequelize is a promise-based ORM for Node.js and io.js. It supports the dialects PostgreSQL, MySQL, MariaDB, SQLite and MSSQL and features solid transaction support, relations, read replication and more. On the other hand, TypeORM is detailed as "An ORM that can run in NodeJS and others". It supports both Active Record and Data Mapper patterns, unlike all other JavaScript ORMs currently in existence, which means you can write high quality, loosely coupled, scalable, maintainable applications the most productive way.
Sequelize belongs to "Object Relational Mapper (ORM)" category of the tech stack, while TypeORM can be primarily classified under "Microframeworks (Backend)".
Sequelize and TypeORM are both open source tools. Sequelize with 19.2K GitHub stars and 3.01K forks on GitHub appears to be more popular than TypeORM with 13.9K GitHub stars and 1.75K GitHub forks.
According to the StackShare community, Sequelize has a broader approval, being mentioned in 38 company stacks & 33 developers stacks; compared to TypeORM, which is listed in 6 company stacks and 7 developer stacks.
Pros of Sequelize
- Good ORM for node.js40
- Easy setup30
- Support MySQL & MariaDB, PostgreSQL, MSSQL, Sqlite19
- Open source14
- Free13
- Promise Based11
- Recommend for mongoose users4
- Atrocious documentation, buggy, issues closed by bots3
- Typescript2
Pros of TypeORM
- Typescript28
- Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Ser10
- Easy setup9
- Works in NodeJS, Browser, Ionic, Cordova and Electron p7
- Promise Based7
- Cons of TypeORM6
- Support MySQL & MariaDB, PostgreSQL, MSSQL, Sqlite6
- Support MongoDB1
Sign up to add or upvote prosMake informed product decisions
Cons of Sequelize
- Docs are awful30
- Relations can be confusing9
Cons of TypeORM
- Completely abandoned by its creator5
- Too complex for what it does3
- Doesn't really support native javascript2
- Cannot use query on any relation1
- Not proper/real type safety1