db-table-best-practice
SKILL.md
数据库与数据表表名规范验证最佳实践
任务目标
- 验证数据库名称和数据表表名是否符合团队规范
- 支持自动修改文件中的表名(默认行为)
- 仅适用于数据库和数据表的名称,不涉及表字段命名
数据库命名规范
格式要求
- 全部使用小写字母
- 不同语义部分之间使用**下划线(_)**分隔
- 命名长度:控制在2-4个语义段
核心原则
- 简洁表意:直接体现数据库的业务归属或用途
- 避免冗余:不包含无意义的缩写或重复字符
数据表表名命名规范
说明:仅验证数据表的表名(table name),不涉及表字段(column/field)命名。
格式要求
- 基本结构:「形容词 + 名词(复数)」
- 全部使用小写字母
- 不同语义部分之间使用**下划线(_)**分隔
- 最后一个名词必须采用英文复数形式
核心原则
- 形容词:体现表的业务属性或范围(如
user、order、system) - 名词:体现表存储的核心数据对象,必须使用复数形式
- 见名知意:整体表意清晰,避免无意义缩写
- 长度控制:控制在3-4个语义段内
补充规则
- 单名词扩展:详细规则见 references/english-plural-rules.md
- 避免过长:
user_order_addresses合理,user_order_shipping_receive_addresses需简化 - 常见错误与修正:见 references/common-errors.md
文件命名规范(Drizzle ORM 文件)
格式要求:数据库表名 + _table
- 数据库表名必须符合表名规范(复数、小写、下划线)
- 文件名中的表名必须与
pgTable()函数中的表名一致
示例:
users_table.ts→pgTable("users", {...})user_profiles_table.ts→pgTable("user_profiles", {...})
常见错误:见 references/common-errors.md
验证流程
单个命名验证
识别类型 → 逐项检查 → 结果反馈
批量命名审查
分类整理 → 逐个验证 → 一致性检查 → 汇总报告
文件命名验证与修正
默认行为:直接执行自动修改,除非用户明确说"只检查"、"只建议"、"不修改"、"不要改"等
核心流程:
- 识别用户意图和上下文(优先级:文件/文件夹路径 → 主动查找 → 只检查)
- 查找或读取文件
- 验证文件名(针对 Drizzle ORM 等表定义文件)
- 识别表名并验证
- 判断是否修改
- 执行修改(使用
edit_file,limit=-1) - 验证结果并输出报告
完整执行流程和示例:见 references/usage-examples.md
资源索引
- 常见错误与修正:见 references/common-errors.md(何时读取:遇到具体错误类型或需要修正方案时)
- 使用示例:见 references/usage-examples.md(何时读取:需要参考完整执行流程和示例时)
- 英文复数规则:见 references/english-plural-rules.md(何时读取:遇到不确定的英文复数形式时)
- 最佳实践示例:见 best-practice-examples/(何时读取:需要参考 Drizzle ORM 最佳实践代码示例时)
注意事项
- 适用范围:仅验证数据库和数据表的表名,不涉及表字段命名
- 默认行为:提供文件路径或说"数据库/表是否符合规范"时,默认执行自动修改
- 只检查模式:用户说"只检查"、"只建议"、"不要修改"、"不修改"、"不要改"等 → 只检查不修改
- 文件查找策略:
- 用户提供了文件/文件夹路径 → 只处理指定的,不主动查找其他文件
- 用户未提供路径 → 使用
glob_file主动查找相关文件 - 用户提供文件夹 → 只在该文件夹内查找,不递归到子文件夹(除非明确要求)
- 文件修改原则:
- 使用
limit=-1替换所有匹配项 - 保持原文件格式和缩进不变
- 修改前读取,修改后验证
- 提供详细的修改报告,包括文件路径
- 使用
使用场景
- 新建数据库/表前的表名验证
- 代码审查阶段的表名规范检查
- 团队培训中的规范讲解
- 数据库重构时的表名规范化
- 批量审查现有数据库和数据表表名一致性
- 自动修改文件中的表名(SQL文件、配置文件、代码文件等)——默认行为
- 只检查不修改(用户明确要求时)
Weekly Installs
17
Repository
forge-town/skillsGitHub Stars
1
First Seen
Feb 11, 2026
Security Audits
Installed on
codex17
gemini-cli16
github-copilot16
amp16
kimi-cli16
opencode16