Sequelize ORM Cheatsheet
Quick reference for Sequelize ORM: models, associations, queries, migrations, transactions, and utilities.
| Feature | Description | Example | Category |
|---|---|---|---|
| Define Model | Create a Sequelize model | const User = sequelize.define('User', { name: DataTypes.STRING, email: DataTypes.STRING }); | Models |
| Sync Models | Create tables based on models | await sequelize.sync(); | Models |
| One-to-One | User has one Profile | User.hasOne(Profile); Profile.belongsTo(User); | Associations |
| One-to-Many | User has many Posts | User.hasMany(Post); Post.belongsTo(User); | Associations |
| Many-to-Many | Users and Roles | User.belongsToMany(Role, { through: "UserRoles" }); | Associations |
| Find All | Retrieve all records | const users = await User.findAll(); | Queries |
| Find One | Retrieve single record | const user = await User.findOne({ where: { id: 1 } }); | Queries |
| Create | Insert a new record | await User.create({ name: "John", email: "john@example.com" }); | Queries |
| Update | Update existing record(s) | await User.update({ name: "Jane" }, { where: { id: 1 } }); | Queries |
| Delete | Remove record(s) | await User.destroy({ where: { id: 1 } }); | Queries |
| Include | Join associations | const users = await User.findAll({ include: Profile }); | Queries |
| Generate Migration | Create migration file | npx sequelize-cli migration:generate --name create-users | Migrations |
| Run Migration | Apply migrations | npx sequelize-cli db:migrate | Migrations |
| Undo Migration | Revert last migration | npx sequelize-cli db:migrate:undo | Migrations |
| Transaction | Perform multiple queries atomically | await sequelize.transaction(async (t) => { await User.create({ name: "John" }, { transaction: t }); }); | Transactions |
| Raw Query | Execute raw SQL | const result = await sequelize.query("SELECT * FROM Users"); | Utilities |
| Scopes | Reusable query logic | User.addScope("active", { where: { active: true } }); const users = await User.scope("active").findAll(); | Utilities |
| Hooks | Run code before/after actions | User.beforeCreate((user, options) => { user.createdAt = new Date(); }); | Utilities |