Sequelize 是一款强大的 Node.js ORM 框架,它支持多个数据库类型,包括 MySQL。本文将介绍如何在 Sequelize 中操作 MySQL 中的 ENUM 类型。
ENUM 类型介绍
ENUM 类型是 MySQL 中一种特殊的数据类型,它只能存储预定义的字符串值。一个 ENUM 类型的列最多只能有 65535 个值。在 Sequelize 中,我们可以使用 Sequelize.ENUM 类型来定义 ENUM 类型的列。
在 Sequelize 中定义 ENUM 类型的列
下面是在 Sequelize 中定义 ENUM 类型列的示例代码:
const User = sequelize.define('user', { role: { type: Sequelize.ENUM('admin', 'manager', 'user'), allowNull: false } });
上面的代码定义了一个名为 role 的 ENUM 类型列,它只能存储 admin、manager 和 user 三种预定义的字符串值。
在 Sequelize 中查询 ENUM 类型的列
我们可以使用 Sequelize 提供的 query 方法来查询 ENUM 类型的列。例如,我们要查询 role 列为 user 的所有用户,可以使用如下代码:
User.findAll({ where: { role: 'user' } });
上面的代码会返回一个 Promise,它解析为 role 列为 user 的所有用户。
在 Sequelize 中更新 ENUM 类型的列
我们可以使用 Sequelize 提供的 update 方法来更新 ENUM 类型的列。例如,我们要将某个用户的 role 列从 user 更新为 manager,可以使用如下代码:
User.update({ role: 'manager' }, { where: { id: 1 } });
上面的代码将 id 为 1 的用户的 role 列更新为 manager。
总结
本文介绍了如何在 Sequelize 中操作 MySQL 中的 ENUM 类型。我们可以使用 Sequelize.ENUM 类型来定义 ENUM 类型的列,使用 Sequelize 的 query 方法来查询 ENUM 类型的列,使用 update 方法来更新 ENUM 类型的列。希望本文对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f43212f6b2d6eab3d4dd46