SuperAPI AI 工具集

convex-schema-validator

数据与分析

查看项目

更新于 10-15 22:39

技能介绍

用途:在 Convex 中定义并校验数据库 schema,覆盖类型标注、索引配置、可选字段、联合类型以及 schema 变更的迁移策略。

主要能力:使用 defineSchema 与 defineTable 声明表结构;通过 v 校验器(v.string、v.number、v.boolean、v.null、v.int64、v.bytes、v.id、v.array、v.object、v.optional、v.union、v.literal、v.any、v.record)定义字段类型;配置单字段、复合、排序索引与 searchIndex 全文搜索索引;支持嵌套对象、对象数组、动态键 record、判别联合(discriminated union);区分可选字段与可空字段;提供新增字段、数据回填(backfill)、将可选字段改为必填的迁移步骤;在函数中使用 Doc 与 Id 类型。

使用方式:在 convex/schema.ts 中导入 defineSchema、defineTable 与 v 并导出默认 schema;索引通过 .index("by_x", ["x"]) 与 .searchIndex 追加;迁移使用 internalMutation 查询并 patch 数据。实现前建议先查阅官方文档:https://docs.convex.dev/database/schemas、https://docs.convex.dev/database/indexes、https://docs.convex.dev/database/types、https://docs.convex.dev/llms.txt。

适用场景:需要显式类型安全与索引规划的 Convex 项目,如电商(用户、商品、订单、评论)、消息、事件记录等。

限制与注意:资料明确要求除非被明确指示,否则不要运行 npx convex deploy,也不要运行任何 git 命令;应始终显式定义 schema 而非依赖推断;索引名应包含全部被索引字段;新增字段先设为可选;避免过度使用 v.any();注意 _id 与 _creationTime 为自动系统字段;查询字段顺序须与索引定义一致。具体收费、平台支持与效果暂未提供。