用途:db-naming(M7)用于审计数据库 schema 的命名规范,把命名视为 schema 的文档,目标是让标识符一致、可预测,减少跨 ORM 与数据库引擎的引号/大小写问题。属于设计轴(design),权重低,只作建议性打磨,不会拉低或封顶任何评分。
主要能力:检查 snake_case 与 camelCase 混用、单复数表名混用;识别 SQL 保留字(user、order、group、select)及依赖大小写的标识符,提示 Postgres 未加引号折叠为小写、MySQL 依赖文件系统与大小写配置等引擎差异;检查外键列是否符合 <referenced>id 模式;检查布尔列是否带 is/has_/can_ 前缀、是否存在否定式命名;标记 data、info、value、flag、temp、col1 等含糊名及缺少 _at 后缀的时间戳。
使用方式:Tier-0 静态检查用 scripts/parse-schema.mjs 解析 DDL/快照,统计大小写风格与表名单复数,按引擎保留字表匹配,校验外键模式与布尔前缀。Tier-1 用只读查询核对真实标识符与引号情况:SELECT table_name, column_name FROM information_schema.columns WHERE table_schema NOT IN ('pg_catalog','information_schema') ORDER BY table_name; 结果按 schema/finding.schema.json 输出,例如 M7.schema.mixed_casing、M7.user.reserved_word_table、M7.accounts.active_boolean_unprefixed,每条含 evidence.observed、verification.reproduce(method: ddl_parse / schema_introspect)与分级影响。
严重度:保留字未加引号且跨引擎失效为 2–3 级 warn;全 schema 大小写/单复数不一致为 2 级 warn,可修复但仅建议(重命名影响面大,绝不自动执行);含糊列名或缺少 _at 后缀为 1 级 warn。
限制:命名发现只是建议性优化,不应主导报告或暗示功能缺陷;重命名具有破坏性,会破坏应用代码与迁移,只提出建议;保留字与大小写折叠行为因引擎而异,发现需限定在检测到的引擎范围内,不能当作通用规则。其他细节暂未提供。