Sequelize ORM Cheatsheet

Quick reference for Sequelize ORM: models, associations, queries, migrations, transactions, and utilities.

FeatureDescriptionExampleCategory
Define ModelCreate a Sequelize modelconst User = sequelize.define('User', { name: DataTypes.STRING, email: DataTypes.STRING });Models
Sync ModelsCreate tables based on modelsawait sequelize.sync();Models
One-to-OneUser has one ProfileUser.hasOne(Profile); Profile.belongsTo(User);Associations
One-to-ManyUser has many PostsUser.hasMany(Post); Post.belongsTo(User);Associations
Many-to-ManyUsers and RolesUser.belongsToMany(Role, { through: "UserRoles" });Associations
Find AllRetrieve all recordsconst users = await User.findAll();Queries
Find OneRetrieve single recordconst user = await User.findOne({ where: { id: 1 } });Queries
CreateInsert a new recordawait User.create({ name: "John", email: "john@example.com" });Queries
UpdateUpdate existing record(s)await User.update({ name: "Jane" }, { where: { id: 1 } });Queries
DeleteRemove record(s)await User.destroy({ where: { id: 1 } });Queries
IncludeJoin associationsconst users = await User.findAll({ include: Profile });Queries
Generate MigrationCreate migration filenpx sequelize-cli migration:generate --name create-usersMigrations
Run MigrationApply migrationsnpx sequelize-cli db:migrateMigrations
Undo MigrationRevert last migrationnpx sequelize-cli db:migrate:undoMigrations
TransactionPerform multiple queries atomicallyawait sequelize.transaction(async (t) => { await User.create({ name: "John" }, { transaction: t }); });Transactions
Raw QueryExecute raw SQLconst result = await sequelize.query("SELECT * FROM Users");Utilities
ScopesReusable query logicUser.addScope("active", { where: { active: true } }); const users = await User.scope("active").findAll();Utilities
HooksRun code before/after actionsUser.beforeCreate((user, options) => { user.createdAt = new Date(); });Utilities