关于 database-design
database-design 是用于按项目情境选择数据库和 ORM、设计数据模式的指导技能。它强调先确认偏好与部署条件,而不是照搬 SQL 模式或默认使用某一种数据库。
主要功能
- 01数据库选择指导
- 02ORM 选择指导
- 03数据模式与关系规划
- 04索引策略规划
- 05查询优化要点
- 06迁移指导
适用场景
- 01为应用选择数据库
- 02为项目选择 ORM
- 03规划数据关系与索引
- 04审视查询或迁移方案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill database-design安装后在 Claude Code 中输入/database-design确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
database-selection.mdindexing.mdmigrations.mdoptimization.mdorm-selection.mdschema-design.mdscripts/schema_validator.py详细介绍
数据库设计
学会思考,而不是复制 SQL 模式。
🎯 选择性阅读规则
只阅读与请求相关的文件! 查看内容地图,找到你需要的内容。
| 文件 | 描述 | 何时阅读 |
|---|---|---|
database-selection.md | PostgreSQL vs Neon vs Turso vs SQLite | 选择数据库 |
orm-selection.md | Drizzle vs Prisma vs Kysely | 选择 ORM |
schema-design.md | 规范化、主键、关系 | 设计 schema |
indexing.md | 索引类型、复合索引 | 性能调优 |
optimization.md | N+1、EXPLAIN ANALYZE | 查询优化 |
migrations.md | 安全迁移、无服务器数据库 | Schema 变更 |
⚠️ 核心原则
- 当不清楚时,询问用户的数据库偏好
- 根据上下文选择数据库/ORM
- 不要默认对所有情况都使用 PostgreSQL
决策清单
在设计 schema 之前:
- 询问过用户的数据库偏好?
- 为此上下文选择了数据库?
- 考虑了部署环境?
- 规划了索引策略?
- 定义了关系类型?
反模式
❌ 对简单应用默认使用 PostgreSQL(SQLite 可能就足够了) ❌ 跳过索引 ❌ 在生产环境中使用 SELECT * ❌ 在结构化数据更好时存储 JSON ❌ 忽略 N+1 查询
评论
支持 Markdown