sequelize is a free, open source databases project written in TypeScript and released under MIT. It has 30,362 GitHub stars, 4,341 forks and 1,080 open issues, and was last pushed 6 hours ago. On this registry it ranks #16 of 81 tracked projects in Databases, with 5 head-to-head comparisons available.

What is sequelize?

What it is

Sequelize is a promise-based object-relational mapping tool for Node.js, written in TypeScript and distributed under the MIT license. It maps JavaScript and TypeScript objects onto relational tables, so application code works with models and relations instead of hand-written SQL strings. The package is published on npm as @sequelize/core, documentation lives at sequelize.org, and the project has existed for roughly sixteen years with about 30,000 stars and 4,300 forks on GitHub. It belongs to the Node.js ecosystem, where it occupies the ORM layer between an application and its database driver.

The concrete problem it solves is database portability and repetitiveness in Node.js applications. Sequelize supports PostgreSQL (including JSON and JSONB), MySQL, MariaDB, SQLite, DB2, Microsoft SQL Server, Snowflake, Oracle DB, and Db2 for IBM i, so one modelling layer can serve applications that must talk to more than one of those engines or that change engine over time. It also supplies the parts that raw drivers leave to the developer: solid transaction support, relations between models, eager and lazy loading of associated records, and read replication for splitting reads across replicas.

Key capabilities

  • Model definitions and relations that map TypeScript and JavaScript classes to tables and foreign keys.
  • Solid transaction support for grouping statements into atomic units.
  • Eager loading and lazy loading for fetching related records alongside, or on demand from, a parent row.
  • Read replication, allowing reads to be routed to replicas while writes go elsewhere.
  • Broad engine coverage: PostgreSQL with JSON and JSONB, MySQL, MariaDB, SQLite, DB2, Microsoft SQL Server, Snowflake, Oracle DB, and Db2 for IBM i.
  • A separate CLI package for project tooling, plus integrations such as graphql-sequelize for GraphQL and sequelize-cockroachdb for CockroachDB.
  • Upward migration documentation covering v5 to v6 and v6 to v7 upgrades.

Who uses it and how

  • Node.js and TypeScript services that define models once and run against PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Snowflake, Oracle DB, or DB2.
  • Applications with primary and replica databases, using read replication to direct read traffic.
  • Teams loading nested data through eager and lazy loading rather than writing joins by hand.
  • GraphQL API projects using the graphql-sequelize integration.
  • Projects adopting CockroachDB through the separate sequelize-cockroachdb package.

Getting started

project readme (upstream, from github) — read inline

Sequelize

npm version npm downloads contributors Open Collective sponsor Merged PRs semantic-release License: MIT

Sequelize is an easy-to-use and promise-based Node.js ORM tool for Postgres, MySQL, MariaDB, SQLite, DB2, Microsoft SQL Server, Snowflake, Oracle DB and Db2 for IBM i. It features solid transaction support, relations, eager and lazy loading, read replication and more.

Would you like to contribute? Read our contribution guidelines to know more. There are many ways to help! 😃

🚀 Seeking New Maintainers for Sequelize! 🚀

We're looking for new maintainers to help finalize and release the next major version of Sequelize! If you're passionate about open-source and database ORMs, we'd love to have you onboard.

💰 Funding Available

We distribute $2,500 per quarter among maintainers and have additional funds for full-time contributions.

🛠️ What You’ll Work On

  • Finalizing and releasing Sequelize’s next major version
  • Improving TypeScript support and database integrations
  • Fixing critical issues and shaping the ORM’s future

🤝 How to Get Involved

Interested? Join our Slack and reach out to @WikiRik or @sdepold:
➡️ sequelize.org/slack

We’d love to have you on board! 🚀

:computer: Getting Started

Ready to start using Sequelize? Head to sequelize.org to begin!

:money_with_wings: Supporting the project

Do you like Sequelize and would like to give back to the engineering team behind it?

We have recently created an OpenCollective based money pool which is shared amongst all core maintainers based on their contributions. Every support is wholeheartedly welcome. ❤️

:pencil: Major version changelog

Please find upgrade information to major versions here:

:book: Resources

:wrench: Tools

:speech_balloon: Translations

:warning: Responsible disclosure

If you have security issues to report, please refer to our Responsible Disclosure Policy for more details.

Frequently asked questions

Is sequelize free to use?

sequelize is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does sequelize do?

Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Orac

What is sequelize written in?

sequelize is primarily written in TypeScript. Its source is publicly available at https://github.com/sequelize/sequelize, and it has 30,362 GitHub stars.