Sequelize 使用指南解析:从建库到语句

引言

Sequelize 是一个出色的 ORM 框架,可以用于 node.js 应用程序中的模型定义、查询和事务管理等操作。使用它可以方便地操作多种关系型数据库(如 MySQL、Postgres、SQLite 等),大大简化了与数据库打交道的难度。

本文将整理总结 Sequelize 的使用指南,并对常用的 API 进行详细解释说明。通过学习本文,希望能够使读者对 Sequelize 有更深刻的认识,并在实际项目中运用自如。

安装和配置

首先我们需要安装 Sequelize,使用 npm 命令即可:

Sequelize 同时支持 promise 和 callback 风格,如果你的 node 版本不低于8.0,那么就可以使用 async/await 语法了。这里建议使用 ES2015 的 import/export 语法引入 Sequelize:

接下来,我们需要创建一个 Sequelize 实例。这个实例代表你要连接的数据库,在创建时需要传递一些参数,如下:

其中,第一个参数是数据库名字;第二个和第三个分别是用户名和密码。host 和 port 表示数据库的主机地址和端口号,如果你使用的是默认值(localhost 和 3306),则可以省略不写,dialect 则指定了使用的数据库类型。

模型定义

Sequelize 的核心概念就是模型(Model),它对应了数据库中某个表格(table)的结构和行为(即列和字段)。

我们首先需要定义一个 Model,可以通过调用 define() 方法实现,如下:

以上代码定义了一个名为 user 的模型,包含了四个属性:id、name、age、gender。各个属性的定义方式和数据类型见代码注释。第二个参数是可选的,可以设置一些选项,如 tableName 可以修改表名,timestamps 控制是否添加 createdAt 和 updatedAt 两个字段等。

除了上述常用的数据类型(STRINGINTEGERENUM)外,Sequelize 还支持很多其他的数据类型(如 BOOLEAN、DATE、FLOAT 等),可以根据需要自行查阅官方文档。

同步数据库

在定义完模型之后,我们需要让 Sequelize 帮助我们生成相应的表。在生产环境中,一般采用迁移工具 (如 sequelize-cli) 来完成此过程。而在开发调试时,可以调用 sync() 方法来实现,即:

此方法会根据定义的模型,自动生成对应的表结构及其索引等。如果表已经存在,则不会再次创建。如果表结构有变化,则会自动升级(或者降级)表结构。

当然,为了防止不必要的麻烦,在正式环境下并不建议采用 sync() 方法

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


纠错
反馈