Sequelize 笔记:时间戳、表名、查询、关联、同步等

前言

Sequelize 是一款 Node.js 下的 ORM 工具,其能够轻松的在 Node.js 项目中创建和管理数据库。Sequelize 支持多种数据库类型,包括 MySQL、PostgreSQL、SQLite 和 Microsoft SQL Server 等。

在本篇文章中,我们将探讨如何使用 Sequelize 进行时间戳、表名、查询、关联、同步等操作。对于前端开发人员来说,掌握这些功能是非常必要的。

1. 时间戳

在 Sequelize 中,我们可以通过给表格添加 createdAt 和 updatedAt 字段来自动记录时间戳。其中 createdAt 是记录数据创建时间,updatedAt 是记录数据最后更新时间。我们只需要在表格定义时添加 timestamps: true 和 underscored: true 就可以自动记录时间戳了。具体示例代码如下:

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

2. 表名

Sequelize 可以自动生成表名。通常情况下表名为模型名字的复数形式,并加上前缀和后缀(你可以在配置中改变前缀和后缀)。如果你想指定表名,则需要在模型定义的配置对象中增加一个 tableName 属性。

示例代码如下:

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

3. 查询

Sequelize 提供了多种查询方式,我们可以使用 findAll 方法获取所有的结果集,或者使用 findOne 方法获取单个结果。此外,我们还可以使用 Sequelize 提供的多个查询操作符,例如 where、in、notIn、and、or 等。以下是一些常见的查询示例:

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

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

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

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

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

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

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

4. 关联

在 Sequelize 中,一个模型可以与其他多个模型进行关联,关联分为四种类型:1 多对多关联;2 一对多关联;3 一对一关联;4 多态关联。下面是一些常见的关联示例:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5. 同步

在 Sequelize 中,我们可以通过执行 sync 方法对数据库进行同步。可以使用 sync() 方法自动创建表格(如果它们不在数据库中),或者更新表格(如果定义有更改),或者仅仅检查它们是否存在。

示例代码如下:

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

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

结论

在本文中,我们已经探索了 Sequelize 中的时间戳、表名、查询、关联和同步等重要的特性。Sequelize 使得在 Node.js 项目中管理数据库变得简单和快速。希望这篇文章能够帮助你更加深入地了解 Sequelize。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66fbf5e24471362601671b81