SuperAPI AI 工具集

database-architect

数据与分析

查看项目

更新于 10-16 02:03

技能介绍

用途

Database Architect 是一个面向数据库架构决策的 AI 技能,覆盖从建模到演进的全流程。其作用范围限定为数据库架构层面,不处理 DBA 运维、备份管理、部署策略,也不涉及向量数据库模式。

该技能提供六种模式(Mode):

  • design <requirements>:根据需求生成模式 DDL。
  • migrate <description>:生成带回滚计划的迁移 SQL。
  • review <schema or migration path>:审计现有模式或迁移文件。
  • optimize <query or table>:索引与查询优化。
  • evolve:代码库范围的模式演进分析。
  • 空参数:展示带有示例的模式菜单。

主要能力

设计模式(Mode 1: Design)

从自然语言需求生成模式 DDL,流程包括:解析实体及其关系(1:1、1:N、M:N)、识别约束(唯一、非空、检查、外键)、分析预期查询模式与访问路径、确定目标数据库引擎(默认 PostgreSQL)。可通过运行 uv run python skills/database-architect/scripts/schema-analyzer.py --ddl <path_or_stdin> 进行结构校验,并解析 JSON 输出中的规范化级别与结构问题。最终生成包含表定义、索引、外键关系(含 ON DELETE/UPDATE 动作)以及设计决策注释的完整 DDL,并以表格呈现表、列、索引、外键与规范化情况。

迁移模式(Mode 2: Migrate)

生成带回滚计划与零停机策略的迁移 SQL。对每个操作生成:Up 迁移(正向 SQL)、Down 迁移(回滚 SQL)、零停机策略(当操作不向后兼容时)、数据丢失风险(显式标记破坏性操作)。对于列重命名、列类型变更、添加 NOT NULL、表重命名等操作,采用 expand-contract 模式(先扩展添加、后收缩删除)。可运行 uv run python skills/database-architect/scripts/migration-validator.py --path <migration_dir> 或 --sql <path> 进行校验,标记 data_loss_risk: true 或 reversible: false 的操作。输出分为 Up、Down、零停机说明、风险评估四部分。

审查模式(Mode 3: Review)

审计现有模式或迁移文件,运行 schema-analyzer.py 检查规范化问题、常见查询模式缺失的索引、约束完整性、命名一致性、引擎特定反模式;对迁移文件还要运行 migration-validator.py 检查可逆性、数据丢失风险、零停机兼容性、迁移顺序与依赖。发现按严重程度分组:Critical(数据丢失风险、外键缺失约束、无回滚的不可逆迁移)、Warning(缺失索引、无理由的反规范化、次优类型)、Info(命名不一致、缺失注释、风格建议)。

优化模式(Mode 4: Optimize)

提供索引与查询优化建议。先收集上下文(涉及表的现有索引、查询执行模式、数据量估算),再运行 uv run python skills/database-architect/scripts/index-recommender.py --schema <path> --queries <path_or_stdin>。每条建议包含:涉及的表、推荐的索引(列与类型)、服务的查询模式、写入开销与存储成本权衡、定性影响估计(高/中/低)。

演进模式(Mode 5: Evolve)

进行代码库范围的模式演进分析。扫描模式定义文件(SQL、ORM 模型、迁移目录)、查询模式(原始 SQL、ORM 查询、查询构建器)、迁移历史与顺序。评估 ORM 模型与实际迁移之间的模式漂移、未使用的表/列、迁移健康度、索引覆盖率、规范化一致性。输出演进报告,包含模式健康评分、迁移时间线摘要、按影响排序的顶级建议,并渲染仪表盘(将 templates/dashboard.html 复制到临时文件,将分析 JSON 注入数据脚本标签,在浏览器中打开)。

使用方式

该技能以 $ARGUMENTS 接收输入。各模式均有对应的参考文件与脚本,且规定一次只加载一个参考文件,不预加载全部。参考文件包括 migration-patterns.md(零停机策略、expand-contract、操作安全性)、normalization-guide.md(规范化级别、反规范化决策规则)、db-idioms.md(PostgreSQL、MySQL、SQLite、MongoDB 类型惯用法与特性)、query-optimization.md(索引策略、查询重写、执行计划解读)、zero-downtime-checklist.md(迁移前清单、部署协调)。脚本包括 schema-analyzer.py、migration-validator.py、index-recommender.py;模板为 dashboard.html。

适用场景

适用于需要做出数据库架构决策的场合:从需求生成新模式的 DDL、规划可回滚的迁移、审计与优化既有模式、以及分析整个代码库的模式演进。用户需提供需求、迁移描述、模式或迁移路径、查询或表定义等输入。

限制

该技能仅限数据库架构决策,不适用于 DBA 运维、备份管理、部署策略(应使用 devops-engineer)、向量数据库模式(应使用 data-wizard)。此外,技能规定:每个迁移必须有回滚计划,不可逆变更需用户明确确认;未经确认数据保留策略,不得建议删除列或表;必须显式标记数据丢失风险;零停机指模式级兼容,而非部署协调;未指定引擎时默认 PostgreSQL 并说明假设;每条索引建议必须包含写入开销权衡;不生成 ORM 代码,仅输出原始 DDL/SQL;规范化决策必须引用具体范式与违规;展示结果前须运行 schema-analyzer.py 或 migration-validator.py;不得复制 review 的 wave pipeline、置信度评分或团队结构;执行任何模式修改前必须经过批准环节;迁移命名须遵循 NNNN_description 约定。