📄️ 其他数据类型
除了模型基础指南中提到的最常见的数据类型外,Sequelize 还提供了一些其他的数据类型。
📄️ 在 AWS Lambda 中使用 Sequelize
AWS Lambda 是一种无服务器计算服务,允许客户
📄️ 连接池
如果您是从单个进程连接到数据库,则应只创建一个 Sequelize 实例。Sequelize 将在初始化时设置一个连接池。此连接池可以通过构造函数的 options 参数(使用 options.pool)进行配置,如下例所示
📄️ 约束和循环依赖
在表之间添加约束意味着在使用 sequelize.sync 时,必须以一定的顺序在数据库中创建表。如果 Task 引用了 User,则必须在创建 Task 表之前创建 User 表。这有时会导致循环引用,Sequelize 无法找到同步的顺序。想象一下文档和版本的情况。一个文档可以有多个版本,为了方便起见,一个文档引用了其当前版本。
📄️ 特定方言的内容
底层连接器库
📄️ 扩展数据类型
您尝试实现的类型很可能已包含在 DataTypes 中。如果未包含新的数据类型,本手册将演示如何自行编写。
📄️ 钩子
钩子(也称为生命周期事件)是在执行 sequelize 中的调用之前和之后调用的函数。例如,如果您希望在保存模型之前始终设置某个值,则可以添加 beforeUpdate 钩子。
📄️ 索引
Sequelize 支持在模型定义中添加索引,这些索引将在 sequelize.sync() 时创建。
📄️ 处理遗留表
虽然 Sequelize 默认情况下看起来有点固执己见,但通过定义(否则生成的)表和字段名称,可以轻松地处理遗留表并使您的应用程序具有前瞻性。
📄️ 法律声明
许可证
📄️ 迁移
就像您使用 Git 等版本控制系统来管理源代码中的更改一样,您可以使用迁移来跟踪数据库中的更改。使用迁移,您可以将现有数据库转换为另一种状态,反之亦然:这些状态转换保存在迁移文件中,这些文件描述了如何到达新状态以及如何撤消更改以返回到旧状态。
📄️ 命名策略
underscored 选项
📄️ 乐观锁
Sequelize 通过模型实例版本计数内置支持乐观锁。
📄️ 查询接口
Sequelize 实例使用称为查询接口的东西以与方言无关的方式与数据库通信。在本手册中您学习的大多数方法都是借助查询接口中的几种方法实现的。
📄️ 读写分离
Sequelize 支持读写分离,即在执行 SELECT 查询时可以连接到的多个服务器。在执行读写分离时,您指定一个或多个服务器充当读副本,以及一个服务器充当主写入器,该写入器处理所有写入和更新并将它们传播到副本(请注意,Sequelize 不处理实际的复制过程,但应由数据库后端设置)。
📄️ 资源
附加组件和插件
📄️ 作用域
作用域用于帮助您重用代码。您可以定义常用的查询,指定 where、include、limit 等选项。
📄️ 子查询
假设您有两个模型,Post 和 Reaction,并设置了 One-to-Many 关系,以便一个帖子有多个反应
📄️ 事务
Sequelize 默认不使用事务。但是,对于 Sequelize 的生产就绪使用,您绝对应该配置 Sequelize 以使用事务。
📄️ TypeScript
我们正在努力使 Sequelize 在 TypeScript 中易于使用。
📄️ 升级到 v6
Sequelize v6 是 v5 之后的下一个主要版本。以下是帮助您升级的重大更改列表。