SuperAPI AI 工具集

data-model-changes

数据与分析

查看项目

更新于 10-15 22:38

技能介绍

用途:为 Inkeep Agent Framework 提供数据模型变更的完整指引,覆盖数据库 schema、校验、类型和数据访问层。

主要能力:框架使用两个独立 PostgreSQL 数据库——Manage(Doltgres,drizzle.manage.config.ts、src/db/manage/manage-schema.ts,存项目、智能体、工具、触发器、评估器等版本化配置)与 Runtime(Postgres,drizzle.run.config.ts、src/db/runtime/runtime-schema.ts,存会话、消息、任务、API 密钥等事务数据)。两者之间不设跨库外键,跨库引用由应用层保证。

使用方式:所有表采用分层作用域模式(tenantScoped、projectScoped、agentScoped、subAgentScoped),主键须包含全部作用域列;JSONB 列用 .$type<T>() 标注;常用字段模式含 uiProperties 与 timestamps。新增表流程为:在对应 schema 文件定义表、按需添加 relations、在 validation/schemas.ts 创建 Zod 校验(Select/Insert/Update 及 Api 变体)、在 types/entities.ts 导出实体类型、在 data-access 下编写数据访问函数并从 index 导出、执行 pnpm db:generate 生成迁移、审阅 SQL 后执行 pnpm db:migrate。若改动 manage schema,还需用 pnpm db:manage:migrate 与 pnpm --filter @inkeep/agents-core db:manage:sync-all-branches 验证跨 Dolt 分支合并,关注 SYNCED、NOOP 或失败结果。

限制与规则:不得手动编辑 drizzle/meta/ 下文件,不得修改已应用的迁移 SQL,不得手动删除迁移文件(用 pnpm db:drop);仅可在首次应用前编辑新生成的迁移。外键仅限同库,删除行为可选 CASCADE 或 SET NULL。schema 变更需创建 changeset,破坏性变更用 minor,非破坏性新增用 patch。

适用场景:新增表、列、关系,或调整校验、类型与数据访问层时。其他细节资料未提供。