Deno 是一个新兴的 JavaScript 和 TypeScript 运行环境,它与 Node.js 相比,具有更加安全、快速和可靠的特点。在前端开发领域,使用 Deno 可以使得代码更加简洁高效,同时也更加符合现代化的开发要求。在 Deno 中使用 Sequelize 操作 MySQL 数据库是一个重要的开发任务,这里我们将介绍如何完成这个任务。
安装 Deno 与 Sequelize
首先,需要在本地安装 Deno 运行环境。在安装 Deno 之前,可以先检查你的本地环境是否已经安装了 Node.js,如果你已经安装了 Node.js 环境,则可以使用类似 nvm
或 nvm-windows
工具来方便地管理多个运行环境。如果你还没有安装 Node.js,则可以直接到网站上下载 Deno 的安装包 进行安装。
接下来,需要安装 deno-sequelize
包,这个包可以通过 Deno 的包管理器 deno.land/x
来进行安装:
deno install --allow-net --allow-read https://deno.land/x/sequelize_cli/sequelize.ts
安装完成后,可以在命令行里使用 sequelize
命令来创建和管理 Sequelize 的模型和数据库。
配置 Sequelize
在使用 Sequelize 之前,需要配置一个 Sequelize 实例以便与你的数据库连接。配置信息包括数据库连接的地址、用户名、密码、端口以及连接的数据库名称等。在 Deno 中,可以使用如下的代码进行配置:
-- -------------------- ---- ------- ------ - --------- - ---- --------------------------------------- ----- --------- - --- ----------- -------- -------- ----- ------------ ----- ----- --------- ---------------- --------- ---------------- --------- --------------------- -------- ------ ---
这里需要注意,在dialect
字段中,需要指定使用的数据库类型。如果你使用的是其他类型的数据库,可以将其替换为相应的数据库类型。
操作 Sequelize 模型
在 Sequelize 中,模型是指代表数据库中表的类或对象。要操作一个 Sequelize 模型,需要完成以下步骤:
- 在代码中定义一个新的 Sequelize 模型,并指定该模型在数据库中对应的表格;
- 在定义中指明数据库中表格的每一列的数据类型和约束;
- 定义完成后,在代码中操作 Sequelize 模型,执行增删改查等操作。
为了进行演示,在这里我们定义一个 users
表格,并添加了三个字段:id
,name
和 email
。定义如下:
-- -------------------- ---- ------- --------- -------------- - --- ------- ----- ------- ------ ------- - --------- ------------ ------- ----------------------------------- -------------- -- ----- ----- - ------------------------------ ---------------- -------- - --- - ----- --------------------------- -------------- ----- ----------- ----- -- ----- - ----- ---------------------- ---------- ------ -- ------ - ----- ---------------------- ---------- ------ ------- ----- --------- - -------- ----- -- -- -- - ---------- -------- ----------- ------ -- --
在这个定义中,我们使用了类型 UserAttributes
和 UserInstance
来表示 users
数据库表格的数据类型。users
需要传入两个参数,第一个参数是表示表格名字的字符串。第二个参数是一个对象,用于描述数据表格中的每一个属性。每一个属性包括支持的类型、默认值和是否允许为空等等。
在这个定义中,我们使用了属性 id
,name
以及 email
来表示数据表格的三列。列类型通过 Sequelize 中的类型来进行定义,例如 Sequelize.INTEGER.UNSIGNED
就表示使用无符号整数类型,而 Sequelize.STRING(120)
表示最大长度为 120 的字符串类型。allowNull
表示该列是否允许为空,unique
表示该列是否是唯一的。validate 是一种规则集,用于检查数据是否符合预期规则。
对模型进行增删改查
定义好了 Sequelize 模型之后,接下来就可以对它进行增删改查的操作了。以下代码展示了如何通过新增一个用户项来操作该模型:
await users.create({ name: 'User 1', email: 'user1@example.com', });
而下面的代码展示了如何通过查询来获取模型的项:
const user = await users.findOne({ where: { id: 1, }, }); console.log(user.name); // User 1
我们还可以使用 findAll
方法来获取所有项:
const usersList = await users.findAll({}); console.log(usersList.map(u => u.name)); // ['User 1', 'User 2', 'User 3']
当然,Sequelize 还支持更新和删除操作,例如像这样:
-- -------------------- ---- ------- ----- ------------- - ----- ----- --- ------ -------------------- -- - ------ - --- -- -- -- -- ----- --------------- ------ - --- -- -- ---
总结
在这篇文章中,我们介绍了如何在 Deno 中使用 Sequelize 来操作 MySQL 数据库。我们先安装了 Deno 和 Sequelize,并对 Sequelize 进行了简单的配置。之后,我们定义了一个 users
表,并进行了增删改查等操作。希望这篇文章能够让你对在 Deno 中使用 Sequelize 的操作有更深入的认识。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a22b4748841e9894e73c11