Sequelize ORM 操作指南

阅读时长 6 分钟读完

Sequelize 是一个 Node.js 的 ORM 框架,被广泛用于开发 Web 应用程序和 API 服务中的数据库交互部分,支持多种数据库类型,如 PostgreSQL、MySQL、SQLite 和 Microsoft SQL Server 等。在本篇文章中,我们将会介绍如何使用 Sequelize 进行数据库操作,包括创建模型、数据库迁移、增删改查等。

安装

在开始使用 Sequelize 前,需要先安装 Sequelize 及相关依赖。

其中,pg 是 PostgreSQL 的 Node.js 驱动程序,pg-hstore 则用于在 PostgreSQL 中存储 JSON 数据。

创建模型

在 Sequelize 中,每个表都有自己的模型,存放在 models 目录下。使用 Sequelize CLI 快速生成模板文件。

上面的命令将生成一个名为 User 的模型文件及其对应的迁移文件,模型文件根据 MySQL 的约定,表名为复数形式(即 users),如果不需要在默认的表名下创建模型,可以使用 --tableName 选项进行指定。

数据库迁移

Sequelize 支持数据库迁移,即通过代码控制数据库结构的变更,而无需直接操作数据库。使用 Sequelize CLI 可以轻松创建和运行数据库迁移。

创建迁移

创建后将在 migrations 目录下生成一个迁移文件,文件名包含时间戳和迁移任务名称。迁移文件包含两个方法:updownup 方法定义了数据库结构的变化,而 down 方法定义了变化的回滚操作,在升级失败时可以回滚到先前的版本。

-- -------------------- ---- -------
---- --------
-------------- - -
  --- ----- ---------------- ---------- -- -
    ----- ----------------------------------- -
      --- -
        ---------- ------
        -------------- -----
        ----------- -----
        ----- -----------------
      --
      ----- -
        ----- ----------------
      --
      ------ -
        ----- ----------------
      --
      --------- -
        ----- ----------------
      --
      ---------- -
        ---------- ------
        ----- --------------
      --
      ---------- -
        ---------- ------
        ----- --------------
      -
    ---
  --
  ----- ----- ---------------- ---------- -- -
    ----- ----------------------------------
  -
--
展开代码

执行迁移

执行 up 方法升级数据库。

可以使用 --env 选项指定环境(如 --env=production),以及 --to 选项指定要升级的版本号。

回滚迁移

执行 down 方法回滚数据库到之前的版本。

和升级操作一样,可以使用 --env--to 参数控制回滚的环境和版本号。

增删改查

Sequelize 支持多种数据查询方式,包括 findAllfindOnecountmaxmincreateupdatedestroy 等。以下是一些常用的方法。

查询数据

-- -------------------- ---- -------
----- ----- - ----- --------------
  ------ - ------- ---- -
---

----- ---- - ----- --------------
  ------ - --- - -
---

----- ----- - ----- ------------
  ------ - ------- ----- -
---
展开代码

Sequelize 还支持一些查询构建器,如 Opfncol 等,可以用来构建复杂的查询条件和查询结果。

创建数据

更新数据

或者使用 update 方法进行批量更新。

删除数据

或者使用 destroy 方法进行批量删除。

结语

以上是 Sequeliz ORM 操作的简单指南,其中涉及到的细节和用法并不完全,你可以查阅官方文档进行更深入的学习和了解。Sequelize 提供的方法和功能非常多,在实际开发中需要根据具体的业务需求进行选择和使用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67bb80e0306f20b3a6b17f1d

纠错
反馈

纠错反馈