mcpField
D
drizzle-database

drizzle-database

github.com/blogic-cz数据与数据库376 次安装1 天前更新
代码仓库

关于 drizzle-database

一项用于实现和审查 Drizzle ORM 架构、查询及迁移的技能,帮助开发者遵循项目现有约定,并通过迁移与相关测试验证更改。

主要功能

  1. 01沿用现有架构与查询模式
  2. 02明确建模关系及连接要求
  3. 03指导验证迁移结果
  4. 04测试变更涉及的数据库路径

适用场景

  1. 01新增或修改 Drizzle 表与关系
  2. 02组合类型安全的 Drizzle 查询
  3. 03更新迁移并测试数据库变更

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/blogic-cz/blogic-marketplace --skill drizzle-database

安装后在 Claude Code 中输入/drizzle-database确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
migrations-and-testing.md
query-patterns.md
schema-patterns.md

详细介绍

Drizzle 数据库模式

使用此技能实现和审查 Drizzle ORM 架构与查询代码,确保类型、关系建模以及迁移和测试验证符合项目规范。

适用场景

当工作明确涉及 Drizzle ORM 原语时,请使用此技能,例如:

  • pgTable(...) 架构定义
  • 使用 relations(...) 声明关系
  • Drizzle select/查询构建器组合(db.select、db.query.*)
  • Drizzle 迁移和架构演进
  • 为 Drizzle 支持的测试进行类型化测试数据库数据填充

对于与 Drizzle 实现无关的一般 SQL/数据库讨论,请勿触发此技能。

标准工作流

对每项架构/查询变更都按以下顺序执行:

  1. 检查目标代码库中附近的架构辅助函数和现有 Drizzle 模式。
  2. 采用已确立的本地模式(类型、命名、索引、关系风格),而不是自行创造新风格。
  3. 实现所需的最小架构/查询变更。
  4. 确认生成/应用的迁移输出与变更一致。
  5. 运行相关测试,验证变更涉及的表/查询路径。

请阅读以下文件中的完整示例:

  • references/schema-patterns.md
  • references/query-patterns.md
  • references/migrations-and-testing.md

约定和规则

始终遵守的规则
  1. 明确指定关系基数(one 或 many),并确保外键字段与引用的 ID 匹配。
  2. 明确指定连接是可选还是必需(可选时使用 leftJoin,必需时使用 innerJoin)。
  3. 架构变更后,先验证迁移和测试,再将任务视为完成。
项目约定(除非本地代码库采用其他已确立模式,否则请遵守)
  1. 如果项目使用带品牌/类型的 ID,优先在列上使用它们。
id: text("id").primaryKey().$type<UserId>();
  1. 如果现有表采用此风格,优先使用 .$defaultFn(...) 生成 ID/时间戳。
createdAt: timestamp("created_at")
  .$defaultFn(() => new Date())
  .notNull();
  1. 如果本地架构文件采用这种方式,请将索引/复合约束放在 pgTable 的第三个参数中。
(table) => [
  index("sessions_user_id_idx").on(table.userId),
  unique().on(table.userId, table.organizationId),
];
  1. 如果代码库依赖关系查询辅助函数,请将完整架构传入 drizzle(...)。

查询策略指导

如果组合单个查询(连接/选择投影)能减少往返次数并保持逻辑清晰,请优先采用。

如果关系查询辅助函数(使用 with 的 db.query.<table>.findMany/findFirst)能清晰表达读取操作、保持类型简洁并避免不必要的查询复杂度,请使用这些辅助函数。

如果关系查询辅助函数无法高效地实现所需的筛选、投影或聚合,请改用自定义连接/聚合查询。

范围边界

此技能专注于 Drizzle 架构/查询/迁移实现模式。

如果任务主要是调查性能问题,请将更广泛的数据库性能排查和生产环境索引策略交由 process-db-report 或 performance-optimization 处理。

资源

仅在需要时加载详细示例:

  • references/schema-patterns.md - 完整的表、关系、类型和索引示例
  • references/query-patterns.md - 完整的查询、连接、聚合和变更示例
  • references/migrations-and-testing.md - 迁移工作流以及测试/数据填充示例

评论

支持 Markdown