本节内容
对象
defineObject —— 声明具有自有字段的新记录类型。扩展对象
defineField —— 向标准对象或其他应用的对象添加字段。关系
对象之间的双向
MANY_TO_ONE / ONE_TO_MANY 连接。实体一览
SDK 会在构建时通过 AST 分析检测这些内容,因此文件组织方式由你决定——约定是使用
src/objects/、src/fields/ 和 src/indexes/。 稳定的 universalIdentifier UUID 在不同部署之间将一切关联在一起。
索引(可选)
应用可以随对象一同提供索引,以确保经常执行的查询保持快速。 最常见的情况是某个你经常读取的状态列或外键列。src/indexes/post-card-status.index.ts
唯一索引
defineIndex 接受 isUnique: true,可同时用于单列和多列表达唯一性约束。 这是推荐的基础方式——defineField({ isUnique: true }) 已被弃用,并将在未来的版本中移除。
其他约束
- 部分
WHERE子句由管理员控制——应用无法声明它们。 - 每个对象最多只能有 10 个自定义索引(框架自身的索引不计入其中)。
fields 数组——最左边的列放在最前面,就像电话簿一样。 索引不是免费的:对表的每一次写入都会更新索引。 只有当你确实有查询需要某个索引时才添加它。