📦 Prisma Schema Analyzer — Prisma 模式分析器
v1.0.0分析Prisma schemas的性能、关系设计、索引策略、迁移安全性和查询优化 —— 审核schema.prisma以适应生产环境的读取...
0· 25·0 当前·0 累计
运行时依赖
无特殊依赖
安装命令
点击复制官方npx clawhub@latest install prisma-schema-analyzer
镜像加速npx clawhub@latest install prisma-schema-analyzer --registry https://cn.longxiaskill.com✓ 镜像可用
技能文档
Prisma Schema Analyzer 分析Prisma模式以发现性能问题、关系设计问题、缺失索引、迁移风险和查询优化机会。审核schema.prisma以确保生产就绪并推荐改进。 使用方法 “分析我的Prisma模式以发现问题” “检查我的Prisma模式中缺失的索引” “审查Prisma关系以发现N+1风险” “审核迁移安全以确保我的模式更改安全” 工作原理
- 模式发现
- 模型分析
- 索引策略
- 关系分析
- 查询优化
- 迁移安全
Prisma模式分析
模型: 14 | 关系: 22 | 索引: 8 | 枚举: 5🔴 严重(2)
- 缺失索引在Order.userId — prisma/schema.prisma:45
userId String无@@index([userId])
@@index([userId])到Order模型
- 级联删除在User → Orders — prisma/schema.prisma:12 删除用户级联到所有订单(财务记录!)→ 更改为
onDelete: Restrict或SetNull
🟡 改进(4)
- 缺失
@updatedAt在8个模型 - 使用String代替
status字段 — 使用枚举OrderStatus - 隐式多对多Tag-Post — 添加显式多对多用于元数据
- 缺失复合索引在
[userId, createdAt](常见查询模式)
📊 模式指标
- 每个模型的平均字段数:8.2
- 有索引的模型:6/14(43%)
- 有显式级联的关系:4/22(18%)
- 可选字段:23(审查是否所有字段都真正可选)
✅ 良好实践
- cuid()用于所有主键(分布式安全)
- 枚举类型用于状态字段
- @map/@@用于Postgres命名约定
- 适当的DateTime字段与@default(now())