Feathers.js + Sequelize 模型设计与关联 - 构建复杂的数据关系
· 阅读需 10 分钟
发布时间:2024-07-25
作者:一介布衣
标签:Feathers.js, Sequelize, 模型关联, 数据关系, ORM
发布时间:2024-07-25
作者:一介布衣
标签:Feathers.js, Sequelize, 模型关联, 数据关系, ORM
发布时间:2024-07-20
作者:一介布衣
标签:Feathers.js, Sequelize, ORM, 关系型数据库, 集成
发布时间:2024-01-01 作者:一介布衣 标签:Sequelize, Node.js, ORM, 数据库
Sequelize 的 belongsToMany 很方便,几行配置就能把多对多关系跑起来。可到了真实业务里,我越来越少把中间表只当“两个外键的过桥结构”,因为它往往很快就会承载排序、来源、状态和时间这些额外信息。
做内容系统时,我越来越确定一件事:表名和字段名的命名策略必须早点定。因为 ORM 能帮你屏蔽一部分 SQL 细节,但它并不能替你修复混乱命名带来的认知成本。
刚开始把博客系统往关系型数据库上迁的时候,我最先补的一块不是查询,而是模型设计。因为模型边界一旦定错,后面的列表、详情、标签、归档都会变得越来越绕。
很多团队第一次上 Sequelize,最容易忽略的不是关联关系,而是字段约定。字段长度、是否允许为空、默认值和枚举范围如果一开始不说清楚,后面接口一多,数据库就会慢慢长成“谁都不敢动”的样子。
刚开始用 Sequelize 的时候,模型定义很像一件机械活:写字段、配表名、导出模型,就结束了。可项目一大,模型之间开始出现 belongsTo、hasMany、belongsToMany 这类关联之后,我越来越觉得“模型怎么注册、谁先初始化”已经不是小事了。