# pb_tbl_auth_roles

> 来源：线上 PocketBase collection 回读、`script/pocketbase.newpb.js`
> 类型：`base`
> 读写规则：仅管理员 / 管理角色允许

## 表用途

用于存储角色定义，供 SDK 直连权限管理页和用户授权流程使用。

## 字段清单

| 字段名 | 类型 | 必填 | 说明 |
| :--- | :--- | :---: | :--- |
| `id` | `text` | 是 | PocketBase 记录主键 |
| `role_id` | `text` | 是 | 角色业务 ID |
| `role_name` | `text` | 是 | 角色名称 |
| `role_code` | `text` | 否 | 角色编码 |
| `role_status` | `number` | 否 | 角色状态 |
| `role_remark` | `text` | 否 | 备注 |
| `is_delete` | `number` | 否 | 软删除标记，`0` 表示未删除，`1` 表示已删除，默认 `0` |

## 索引

| 索引名 | 类型 | 说明 |
| :--- | :--- | :--- |
| `idx_tbl_auth_roles_role_id` | `UNIQUE INDEX` | 保证 `role_id` 唯一 |
| `idx_tbl_auth_roles_role_name` | `UNIQUE INDEX` | 保证 `role_name` 唯一 |
| `idx_tbl_auth_roles_role_code` | `UNIQUE INDEX` | 保证 `role_code` 唯一 |

## 补充约定

- `is_delete` 用于软删除控制，角色下线时应优先置为 `1`，避免直接物理删除导致历史授权链断裂。
- 集合默认查询规则已内置 `is_delete = 0`，角色列表/详情默认不返回已软删除数据。
