# PocketBase 文档相关表结构

本方案新增 3 张 PocketBase `base collection`，统一采用业务 id 字段进行关联，不直接依赖 PocketBase 自动生成的 `id` 作为业务主键。

补充约定：

- `document_image`、`document_video` 只保存关联的 `attachments_id`，不直接存文件。
- `document_keywords`、`document_product_categories`、`document_application_scenarios`、`document_hotel_type` 统一使用竖线分隔字符串，例如：`分类A|分类B|分类C`。
- `document_owner` 的业务含义为“上传者openid”。
- `attachments_link` 是 PocketBase `file` 字段，保存附件本体；访问链接由 PocketBase 根据记录和文件名生成。

---

## 1. `tbl_attachments` 附件表

**类型：** Base Collection

| 字段名 | 类型 | 备注 |
| :--- | :--- | :--- |
| attachments_id | text | 附件业务 id，唯一标识符 |
| attachments_link | file | 附件本体，单文件，不限制文件类型，单文件上限 100MB |
| attachments_filename | text | 原始文件名 |
| attachments_filetype | text | 文件类型/MIME |
| attachments_size | number | 附件大小 |
| attachments_owner | text | 上传者业务 id |
| attachments_md5 | text | 附件 MD5 码 |
| attachments_ocr | text | OCR 识别结果 |
| attachments_status | text | 附件状态 |
| attachments_remark | text | 备注 |

**索引规划：**

- `attachments_id` 唯一索引
- `attachments_owner` 普通索引
- `attachments_status` 普通索引

---

## 2. `tbl_document` 文档表

**类型：** Base Collection

| 字段名 | 类型 | 备注 |
| :--- | :--- | :--- |
| document_id | text | 文档业务 id，唯一标识符 |
| document_effect_date | date | 文档生效日期 |
| document_expiry_date | date | 文档到期日期 |
| document_type | text | 文档类型 |
| document_title | text | 文档标题 |
| document_subtitle | text | 文档副标题 |
| document_summary | text | 文档摘要 |
| document_content | text | 正文内容，保存 Markdown 原文 |
| document_image | text | 关联 `attachments_id` |
| document_video | text | 关联 `attachments_id` |
| document_owner | text | 上传者openid |
| document_relation_model | text | 关联机型/模型标识 |
| document_keywords | text | 关键词，竖线分隔 |
| document_share_count | number | 分享次数 |
| document_download_count | number | 下载次数 |
| document_favorite_count | number | 收藏次数 |
| document_status | text | 文档状态 |
| document_embedding_status | text | 文档嵌入状态 |
| document_embedding_error | text | 文档错误原因 |
| document_embedding_lasttime | date | 最后更新日期 |
| document_vector_version | text | 向量版本号或模型名称 |
| document_product_categories | text | 适用产品类别，竖线分隔 |
| document_application_scenarios | text | 适用场景，竖线分隔 |
| document_hotel_type | text | 适用酒店类型，竖线分隔 |
| document_remark | text | 备注 |

**索引规划：**

- `document_id` 唯一索引
- `document_owner` 普通索引
- `document_type` 普通索引
- `document_status` 普通索引
- `document_embedding_status` 普通索引
- `document_effect_date` 普通索引
- `document_expiry_date` 普通索引

---

## 3. `tbl_document_operation_history` 文档操作历史表

**类型：** Base Collection

| 字段名 | 类型 | 备注 |
| :--- | :--- | :--- |
| doh_id | text | 文档操作历史业务 id，唯一标识符 |
| doh_document_id | text | 关联 `document_id` |
| doh_operation_type | text | 操作类型 |
| doh_user_id | text | 操作人业务 id |
| doh_current_count | number | 本次操作对应次数 |
| doh_remark | text | 备注 |

**索引规划：**

- `doh_id` 唯一索引
- `doh_document_id` 普通索引
- `doh_user_id` 普通索引
- `doh_operation_type` 普通索引
