# pb_tbl_auth_resources

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

## 表用途

定义哪些表、哪些字段属于受控资源，是角色权限与用户覆盖权限的资源目录表。

## 字段清单

| 字段名 | 类型 | 必填 | 说明 |
| :--- | :--- | :---: | :--- |
| `id` | `text` | 是 | PocketBase 记录主键 |
| `res_id` | `text` | 是 | 资源业务 ID |
| `table_name` | `text` | 是 | 对应数据表名 |
| `column_name` | `text` | 否 | 对应字段名；表级权限时可为空 |
| `res_type` | `text` | 是 | 资源类型 |
| `is_delete` | `number` | 否 | 软删除标记，`0` 表示未删除，`1` 表示已删除，默认 `0` |

## 补充约定

- `is_delete` 用于软删除控制，资源定义如需停用应优先置为 `1`，避免直接物理删除影响权限审计。
- 集合默认查询规则已内置 `is_delete = 0`，资源列表/详情默认不返回已软删除数据。

## 索引

| 索引名 | 类型 | 说明 |
| :--- | :--- | :--- |
| `idx_tbl_auth_resources_res_id` | `UNIQUE INDEX` | 保证 `res_id` 唯一 |
| `idx_tbl_auth_resources_table_name` | `INDEX` | 加速按表名查询 |
| `idx_tbl_auth_resources_res_type` | `INDEX` | 加速按资源类型查询 |
| `idx_tbl_auth_resources_unique_res` | `UNIQUE INDEX` | 保证 `table_name + column_name + res_type` 唯一 |
