Sequelize 中文教程

Sequelize 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, MariaDB, SQLite 以及 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能。

Sequelize 遵从 语义版本控制。 支持 Node v10 及更高版本以便使用 ES6 功能。

可以通过 Getting started - 入门 来学习更多相关内容。


开始前需要准备的知识

在开始学习 Sequelize 之前,大家需要对 Node 有所了解。如果能熟练的使用将更好了。如果对 Node 还不了解的同学可以参考我们的 Node.js 教程


包含的内容

本教程将包含以下几个方面。

核心概念

  • 入门
  • 模型基础
  • 模型实例
  • 模型查询(基础)
  • 模型查询(查找器)
  • 获取器, 设置器 & 虚拟字段
  • 验证 & 约束
  • 原始查询
  • 关联
  • 偏执表

高级关联概念

  • 预先加载
  • 创建关联
  • 高级 M:N 关联
  • 关联作用域
  • 多态关联

其它主题

  • 方言特定事项
  • 事务
  • 钩子
  • 查询接口
  • 命名策略
  • 作用域
  • 子查询
  • 其他数据类型
  • 循环
  • 扩展数据类型
  • 索引
  • 乐观锁定
  • 读取复制
  • 连接池
  • 使用遗留表
  • 迁移
  • TypeScript
  • 资源

简单示例

下面我们看一个简单的示例

const { Sequelize, Model, DataTypes } = require('sequelize');
const sequelize = new Sequelize('sqlite::memory:');

class User extends Model {}
User.init({
  username: DataTypes.STRING,
  birthday: DataTypes.DATE
}, { sequelize, modelName: 'user' });

(async () => {
  await sequelize.sync();
  const jane = await User.create({
    username: 'janedoe',
    birthday: new Date(1980, 6, 20)
  });
  console.log(jane.toJSON());
})();

查看笔记

扫码一下
查看教程更方便