SuperAPI AI 工具集

sequelize-patterns

数据与分析

查看项目

更新于 10-15 23:34

技能介绍

用途:该技能面向 Sequelize(Node.js 的 SQL 数据库 ORM),在涉及模型定义、迁移、关联、查询、事务、校验、钩子,以及连接 PostgreSQL、MySQL、MariaDB、SQLite、SQL Server 时触发,内容依据官方文档生成。

主要能力:涵盖连接池配置(单进程只创建一个 Sequelize 实例,通过 options.pool 设置 max、min、acquire、idle;多进程时每进程一个实例并分摊最大连接数);命名策略(underscored 选项把属性映射为 snake_case 列名,JS 侧仍为 camelCase);模型以单数形式定义,表名自动复数化;默认允许 null,可用 allowNull: false 关闭;Query Interface 提供方言无关的底层方法,如 createTable、addColumn、changeColumn、removeColumn,SQLite 不支持直接改列时会用备份表重建;高级 M:N 关联通过 belongsToMany 与 through 定义中间表,可自定义中间表模型、额外列、uniqueKey 或主键。

使用方式:通过 require('sequelize') 获取 Sequelize 与 DataTypes,创建实例后调用 sequelize.getQueryInterface() 获得查询接口;关联使用 hasMany、belongsTo、belongsToMany 等;中间表额外字段可在 addProfile 的 through 选项中传入,也可在 create 时用 include 一次性建立关系。

适用场景:需要以 ORM 方式操作关系型数据库的 Node.js 项目,包括建模、迁移、关联查询与事务处理。

限制:Query Interface 属较低层方法,应优先使用更高层 API;SQLite 的改列与删列通过重建表实现;使用 as 改别名会同时改变外键名,建议显式指定 foreignKey。资料未提供收费、价格与平台信息。