$ account sequelize
Sequelize is a mature, promise-based Node.js ORM supporting PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server, DB2, IBM i, Oracle, and Snowflake. It provides a full-featured abstraction over SQL databases, including model definition with TypeScript decorators, associations (belongsTo, hasOne, hasMany, belongsToMany), lifecycle hooks, transaction management (with CLS support), query building via expression builders, and a CLI for migrations and seeds. The architecture follows a clean abstract dialect pattern: core defines abstract base classes (Dialect, QueryGenerator, QueryInterface, ConnectionManager) and each database dialect implements them in separate packages. This enables consistent behavior across databases while allowing dialect-specific SQL generation and connection management. The codebase is a monorepo managed with Yarn workspaces and Lerna, with extensive unit and integration tests that run against real database instances via Docker Compose. Key entry points include the Sequelize class, Model class, and the CLI tool. Data flows from application code through model methods (e.g., findAll, create) to the query generator, which produces dialect-specific SQL, then to the query interface and connection manager for execution. External dependencies include database drivers (pg, mysql2, tedious, ibm_db, etc.), validator.js, and utility libraries. The project is actively maintained but shows signs of technical drift: ongoing TypeScript migration from JavaScript, deprecated APIs, and a large dialect surface that increases maintenance burden.