Compare

Comparing bookshelf vs. knex vs. objection vs. orm vs. sequelize

How are they different?

Here we compare between bookshelf, knex, objection, orm and sequelize. In this comparison we will focus on the latest versions of those packages. The current versions are bookshelf 0.10.3, knex 0.12.9, objection 0.7.12, orm 3.2.3 and sequelize 3.30.4.

bookshelf, A lightweight ORM for PostgreSQL, MySQL, and SQLite3. It was authored by Tim Griesser on Apr, 2013.
knex, A batteries-included SQL query & schema builder for Postgres, MySQL and SQLite3 and the Browser. It was authored by Tim Griesser on May, 2013.
objection, An SQL-friendly ORM for Node.js. It was authored by Sami Koskimäki on Jun, 2012.
orm, NodeJS Object-relational mapping. It was authored by Diogo Resende on Mar, 2011.
sequelize, Multi dialect ORM for Node.JS/io.js. It was authored by Sascha Depold on May, 2011.

When comparing those packages you notice that sequelize is the more popular package today (9,552 Stars on Github).
knex has a bigger community of maintainers.
objection has less dependencies, less open issues and less open pull requests.
orm has been out there for longer (since 4 years ago), it also sequelize has more versions, more frequent updates, more daily downloads, more weekly downloads, more monthly downloads, more stars on Github, more followers on Github and more forks.

In our review bookshelf got 55,461 points, knex got 180,754 points, objection got 9,360 points, orm got 7,854 points and sequelize got 243,958 points. The points are a summary of how big the community is and how well the package is maintained.

Lets dive deeper and have a look at some more details on those packages.

Going into more detail

 

bookshelf
0.10.3
NPM

knex
0.12.9
NPM

objection
0.7.12
NPM

orm
3.2.3
NPM

sequelize
3.30.4
NPM

description A lightweight ORM for PostgreSQL, MySQL, and SQLite3 A batteries-included SQL query & schema builder for Postgres, MySQL and SQLite3 and the Browser An SQL-friendly ORM for Node.js NodeJS Object-relational mapping Multi dialect ORM for Node.JS/io.js
keywords orm, mysql, postgresql, sqlite, datamapper, active record sql, query, postgresql, mysql, mariadb, sqlite3, oracle, mssql orm, knex, sql, query, postgresql, mysql, sqlite3 orm, odm, database, mysql, postgres, redshift, sqlite, mongodb mysql, sqlite, postgresql, postgres, mssql, orm, nodejs, object relational mapper
author Tim Griesser Tim Griesser Sami Koskimäki Diogo Resende Sascha Depold
Related / similar packages
sql-bricks waterline sql-bricks sql-bricks sql-bricks
Comparison
licenses MIT MIT MIT MIT MIT
created 4 years ago (Apr, 2013) 4 years ago (May, 2013) 5 years ago (Jun, 2012) 6 years ago (Mar, 2011) 6 years ago (May, 2011)
modified a month ago 14 days ago a month ago 2 days ago 2 days ago
total versions 68 115 60 82 189
version average every 22 days every 13 days every a month every a month every 12 days
maintainers 4 8 2 2 4
dependencies 7 18 4 7 16
Daily Downloads 2,885 11,692 394 222 15,617
Weekly Downloads 18,527 62,725 2,377 1,247 88,165
Monthly Downloads 77,036 271,844 10,592 5,292 356,102
open issues 478 466 34 218 901
open pull requests 30 30 1 20 30
stargazers 4,047 4,449 1,076 2,411 9,552
subscribers 101 142 45 108 311
forks 349 657 57 344 1,808
wiki
Points
Overall points

55,461

Points

180,754

Points

9,360

Points

7,854

Points

243,958

Points
CLI Shortcuts
install npm i -S bookshelf npm i -S knex npm i -S objection npm i -S orm npm i -S sequelize
remove npm r -S bookshelf npm r -S knex npm r -S objection npm r -S orm npm r -S sequelize

Share this with other developers