mcpField
D
design

design

github.com/hainrixz数据与数据库2270 次安装6 天前更新
代码仓库

关于 design

`/claude-db:design` 技能根据新项目的数据形态和访问模式推荐数据库引擎与起步数据模型,并与 Postgres 对比说明取舍;`--emit` 可生成可回滚的首个迁移。

主要功能

  1. 01按数据范式选择引擎
  2. 02将方案与 Postgres 对比
  3. 03提出起步数据模型
  4. 04生成适配范式的图示
  5. 05用 `--emit` 搭建可回滚迁移

适用场景

  1. 01为新项目选择数据库引擎
  2. 02规划初始实体、键和约束
  3. 03根据起步模型创建首个迁移

安装

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

$npx skills add https://github.com/hainrixz/claude-db --skill design

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

详细介绍

/claude-db:design

从零开始选择引擎并设计入门数据模型。这是 模块 M0(引擎选择):提供建议,而非评分——/claude-db:design 不会生成两项审计评分,也不会写入数据库。

$ARGUMENTS = 对项目的自然语言描述(数据、访问模式、规模及任何约束)。如果信息太少,无法做出可靠选择,请先提出 2–3 个有针对性的问题,或转交给 /claude-db:start,使用完整的引导式向导。

要做什么

  1. 按 M0 决策树逐步判断(references/engine-selection-tree.md;范式信号另见 references/detection-signals.md 和 data-tiers.md):根据访问模式和数据形态,先确定范式(关系型/文档型/键值/宽列/向量/时序/图),再选定具体引擎。
  2. 推荐一种引擎——并始终将其与平平无奇的默认选项进行比较(大多数应用工作负载的默认选项是 Postgres)。明确说明何时默认选项更合适(通常如此),以及有哪些具体需求能证明选择其他方案是合理的。诚实说明锁定风险和运维成本;绝不编造价格、延迟、吞吐量或基准测试数据——定性描述取舍;若需要真实数据,则标记为 needs_api。
  3. 为推荐的引擎提供入门数据模型——包括核心实体、键(视情况使用 UUIDv7/ULID/bigint,金额绝不使用浮点数,使用 timestamptz/UTC)、显而易见的关系/嵌入,以及合理的首个迁移应包含的约束/索引。
  4. 使用 node scripts/gen-diagram.mjs --file <schema> [--paradigm relational|document|key-value|wide-column|graph] 绘制适配相应范式的图表(根据范式选择:关系型用 ERD,文档型用访问模式图,DynamoDB/KV 用键和 GSI 示意图,图数据库用节点/边图)。

格式——优先照顾新手,并提供可展开的技术层

  • 开头用通俗易懂、适合新手的说明:用一句话说明选哪种数据库以及原因——开头不要使用术语。
  • 然后提供可展开的技术层:DDL/集合规范、索引选择、键策略,以及设计规则的依据(每项选择满足哪些审计模块,例如 M2 键、M4 类型、M11 索引),供希望深入了解的读者参考。
  • 结尾提示:"准备好第一个模式后,运行 /claude-db:audit,对其设计与完整性以及性能与扩展性进行评分。"

--emit <prisma|drizzle|sql>——搭建首个迁移

推荐完数据模型后(仍须先完成上述步骤;--emit 不能替代推荐),为选定的目标搭建一个可回滚的首个迁移:

  • 按指定格式为推荐的入门数据模型生成模式——Prisma 模式、Drizzle 模式或原始 SQL DDL。
  • 将搭建好的模式交给 db-migration-writer Agent(通过 Task),让它将其编写为可回滚的迁移(正向 + 回滚)。编写器沿用 fix 的防护措施:Git 工作区不干净时拒绝操作(没有 Git 仓库时视为可写入,备份仍保存到插件数据目录);默认先进行试运行预览;并确保不含密钥(绝不写入 .env/凭据/编造的连接字符串)。
  • 对于 --emit sql,还要提供 /claude-db:seed,为新模式生成了解外键的种子数据。

请使用用户的语言(EN/ES)作答。

评论

支持 Markdown