# pb_tbl_company

> 来源：线上 PocketBase collection 回读、`script/pocketbase.js`
> 类型：`base`
> 读写规则：公开可创建、公开可列出；详情 / 更新 / 删除仅管理员或管理后台用户允许

## 表用途

用于存储公司主数据，并作为用户归属公司、微信端公司创建与原生 PocketBase 查询的基础表。

## 字段清单

| 字段名 | 类型 | 必填 | 说明 |
| :--- | :--- | :---: | :--- |
| `id` | `text` | 是 | PocketBase 记录主键 |
| `company_id` | `text` | 是 | 公司业务 ID，由数据库自动生成 |
| `company_name` | `text` | 否 | 公司名称 |
| `company_type` | `text` | 否 | 公司类型 |
| `company_entity` | `text` | 否 | 公司法人 |
| `company_usci` | `text` | 否 | 统一社会信用代码 |
| `company_nationality` | `text` | 否 | 国家名称 |
| `company_nationality_code` | `text` | 否 | 国家编码 |
| `company_province` | `text` | 否 | 省份名称 |
| `company_province_code` | `text` | 否 | 省份编码 |
| `company_city` | `text` | 否 | 城市名称 |
| `company_city_code` | `text` | 否 | 城市编码 |
| `company_district` | `text` | 否 | 区 / 县名称 |
| `company_district_code` | `text` | 否 | 区 / 县编码 |
| `company_postalcode` | `text` | 否 | 邮编 |
| `company_add` | `text` | 否 | 地址 |
| `company_status` | `text` | 否 | 公司状态 |
| `company_level` | `text` | 否 | 公司等级 |
| `company_owner_openid` | `text` | 否 | 公司所有者 openid |
| `company_remark` | `text` | 否 | 备注 |
| `is_delete` | `number` | 否 | 软删除标记，`0` 表示未删除，`1` 表示已删除，默认 `0` |

## 索引

| 索引名 | 类型 | 说明 |
| :--- | :--- | :--- |
| `idx_company_id` | `UNIQUE INDEX` | 保证 `company_id` 唯一 |
| `idx_company_usci` | `INDEX` | 加速按统一社会信用代码查询 |
| `idx_company_owner_openid` | `UNIQUE INDEX` | 限制同一公司所有者仅能绑定一个公司 |

## 补充约定

- 微信端原生 PocketBase 接口支持公开创建公司记录。
- `is_delete` 用于软删除控制，公司资料停用时应优先置为 `1`。
- 集合默认查询规则已内置 `is_delete = 0`，公司列表/详情默认不返回已软删除数据。
- `company_id` 已切换为数据库自动生成，客户端不再需要提交。
- PocketBase 系统字段 `created`、`updated` 仍然存在，只是不在 collection 字段清单里单独声明。
