Objection.js is an ORM
for Node.js that aims to stay out of your way and make it as easy as possible to use the full
power of SQL and the underlying database engine while keeping magic to a minimum.
Objection.js is built on an SQL query builder called knex. All databases supported by knex
are supported by objection.js. SQLite3, Postgres and MySQL are thoroughly tested.
What objection.js gives you:
What objection.js doesn't give you:
- A custom query DSL. SQL is used as a query language.
This doesn't mean you have to write SQL strings though. A query builder based on
knex
is
used to build the SQL. However, if the query builder fails you for some reason, raw SQL strings can be easily
written using the raw helper function. - Automatic database schema creation and migration from model definitions.
For simple things it is useful that the database schema is automatically generated from the model definitions,
but usually just gets in your way when doing anything non-trivial. Objection.js leaves the schema related things
to you. knex has a great migration tool that we recommend for this job. Check
out the example project.
Shortcuts: