Files
2026-08-31 11:33:59 +08:00

39 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: cross-database
description: 数据库设计规范,命名约定/索引/迁移/ER 设计
globs:
- "database/**/*.php"
- "**/*.php"
---
## 命名约定
| 对象 | 规范 | 示例 |
|------|------|------|
| 数据库名 | snake_case | `madong_saas` |
| 表名 | `{prefix}_{module}_{table}` | `system_menu`, `member_user` |
| 字段名 | snake_case | `created_at`, `parent_id` |
| 主键 | `bigInteger` 雪花 ID | `id` |
| 索引 | 优先遵循所在模块既有命名;`produce` 插件当前使用 `idx_{column}` 等简短名称 | `idx_order_no`、`idx_step_id` |
| 外键 | `{table}_{foreign}_foreign` | `menu_parent_id_foreign` |
## 字段类型
| MySQL 类型 | 用途 |
|-----------|------|
| bigint | 主键(雪花 ID) |
| varchar | 字符串(长度 50-500) |
| text | 长文本 |
| json | JSON 数据 |
| tinyint | 状态/枚举(0/1) |
| timestamp | 时间戳 |
| decimal | 金额(10,2) |
## 检查清单
- [ ] 表名是否包含模块前缀
- [ ] 主键是否为 bigint 雪花 ID
- [ ] 是否包含 created_at/updated_at/deleted_at
- [ ] 索引是否覆盖查询条件
- [ ] 字段类型是否合理