mcpField
P
postgres-drizzle

postgres-drizzle

github.com/ccheney数据与数据库611.5k 次安装7 周前更新
代码仓库

关于 postgres-drizzle

为 PostgreSQL 与 Drizzle ORM 开发提供数据库操作指导,面向编写查询、模式和迁移的开发者。内容强调依据项目实际版本、驱动和部署目标核对兼容性。

主要功能

  1. 01指导表结构与约束设计
  2. 02涵盖查询、事务和关系
  3. 03说明迁移生成与发布
  4. 04提供性能诊断指引
  5. 05按主题整理参考文档

适用场景

  1. 01编写或审查数据库查询
  2. 02为模式变更准备迁移
  3. 03根据查询计划排查性能问题

安装

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

$npx skills add https://github.com/ccheney/robust-skills --skill postgres-drizzle

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

包含的文件

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

references/
CHEATSHEET.md
MIGRATIONS.md
PERFORMANCE.md
POSTGRES.md
QUERIES.md
RELATIONS.md
SCHEMA.md

详细介绍

PostgreSQL 和 Drizzle ORM

根据项目已安装的 API 和部署环境处理数据库工作。用户的明确指示优先于本技能的指南。

确定数据库约定

将相关的架构/查询、迁移历史和所需行为作为输入。对于 Drizzle 代码,检查已安装的 drizzle-orm/drizzle-kit 版本和驱动;对于 SQL,如果某项功能与版本有关,则确认 PostgreSQL 版本。

参考资料涵盖 PostgreSQL 17/18,并区分 Drizzle 的 0.x relations() API 和 v1 defineRelations() API。不要混用它们,也不要根据 npm dist-tag 推断已安装的 API。版本未知时,使用导入信息/锁文件确认,或在提供依赖版本相关的代码前询问缺失的版本信息。

保持变更一致

  • 将数据库外键与 ORM 关系元数据分别声明。根据实际关系匹配可空性、唯一性和删除行为。
  • 在事务中执行每条语句时,都使用事务句柄;通过外部连接执行的查询可能会脱离事务。
  • 根据执行计划和工作负载证据诊断慢查询。评估引用列上的索引;PostgreSQL 不会自动创建这些索引。
  • 为架构变更生成并检查迁移 SQL。保留已应用的迁移历史;后续变更使用新的迁移。
  • 执行迁移或 push 前,先确认目标。编写或审查 SQL 本身不要求对数据库执行操作。如果用户已授权该目标和操作,则继续执行。
  • 将 EXPLAIN ANALYZE 视为查询执行,包括写入操作。如果任务范围不允许执行,请使用合适的测试目标或不会执行查询的计划。

交付所需的 SQL/代码、迁移或诊断结果,并说明兼容性假设和相关验证。如果用户要求执行但未提供目标,则准备好变更,并仅询问缺失的目标信息。

参考资料

阅读与当前操作相关的主题。

任务参考资料
表、类型、约束、索引、生成列SCHEMA.md
读取、写入、联接、事务、预备查询QUERIES.md
关系和特定版本的关系查询 APIRELATIONS.md
drizzle-kit 配置、迁移生成和发布MIGRATIONS.md
PostgreSQL 功能、RLS、分区、JSONB、全文搜索POSTGRES.md
查询计划、索引、连接池、分页、批量操作PERFORMANCE.md
快速查询语法或连接设置CHEATSHEET.md

对于项目已安装版本和参考资料未涵盖的 API 或支持情况,请查阅与版本匹配的 Drizzle 和 PostgreSQL 文档。

评论

支持 Markdown