- 将数据库文档拆分为按collection命名的标准文件,统一格式 - 补充tbl_company、tbl_system_dict等表的原生访问规则 - 新增users_tag、document_create等字段 - 优化用户资料更新接口,支持非必填字段 - 添加公司原生API测试脚本 - 归档本次变更至OpenSpec
4.2 KiB
4.2 KiB
平台后台数据库表结构 (PocketBase)
本方案采用纯业务 ID 关联模式。PocketBase 底层的 id 字段由系统自动维护,业务逻辑中完全使用自定义的 _id 字段进行读写和关联。
1. tbl_system_dict (系统词典)
类型: Base Collection
读写权限: 所有人可读;仅 ManagePlatform/管理员可写
| 字段名 | 类型 | 备注 |
|---|---|---|
| system_dict_id | text | 自定义词id |
| dict_name | text | 词典名称 |
| dict_word_enum | text | 词典枚举 |
| dict_word_description | text | 词典描述 |
| dict_word_is_enabled | bool | 是否有效 |
| dict_word_sort_order | number | 显示顺序 |
| dict_word_parent_id | text | 实现父级字段 (存储其他 dict 的 system_dict_id) |
| dict_word_remark | text | 备注 |
索引规划 (Indexes):
CREATE UNIQUE INDEX针对system_dict_id(确保业务主键唯一)CREATE UNIQUE INDEX针对dict_name(确保词典名称全局唯一,并支持按名称唯一索引查询)CREATE INDEX针对dict_word_parent_id(加速父子级联查询)
2. tbl_company (公司)
类型: Base Collection
| 字段名 | 类型 | 备注 |
|---|---|---|
| company_id | text | 公司业务id,由数据库自动生成,默认形如 WX-COMPANY-时间串 |
| 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 | 备注 |
索引规划 (Indexes):
CREATE UNIQUE INDEX针对company_id(确保业务主键唯一)CREATE INDEX针对company_usci(加速信用代码检索)CREATE INDEX针对company_owner_openid(加速按公司所有者 openid 查询)
3. tbl_user_groups (用户组)
类型: Base Collection
| 字段名 | 类型 | 备注 |
|---|---|---|
| usergroups_id | text | 自定义用户组id |
| usergroups_name | text | 用户组名 |
| usergroups_level | number | 权限等级 |
| usergroups_remark | text | 备注 |
索引规划 (Indexes):
CREATE UNIQUE INDEX针对usergroups_id(确保业务主键唯一)
4. tbl_users (用户)
类型: Base Collection (采用纯业务记录,不使用系统 Auth,以便完美适配图示字段)
| 字段名 | 类型 | 备注 |
|---|---|---|
| users_id | text | 自定义用户id |
| users_name | text | 用户名 |
| users_idtype | text | 证件类别 |
| users_id_number | text | 证件号 |
| users_phone | text | 用户电话号码 |
| users_wx_openid | text | 微信号 |
| users_level | text | 用户等级 |
| users_type | text | 用户类型 |
| users_tag | text | 用户标签 |
| users_status | text | 用户状态 |
| company_id | text | 公司id (存储 tbl_company.company_id) |
| users_parent_id | text | 用户父级id (存储 tbl_users.users_id) |
| users_promo_code | text | 用户推广码 |
| users_id_pic_a | text | 用户证件照片(正),保存 tbl_attachments.attachments_id |
| users_id_pic_b | text | 用户证件照片(反),保存 tbl_attachments.attachments_id |
| users_title_picture | text | 用户资质照片,保存 tbl_attachments.attachments_id |
| users_picture | text | 用户头像,保存 tbl_attachments.attachments_id |
| usergroups_id | text | 用户组id (存储 tbl_user_groups.usergroups_id) |
索引规划 (Indexes):
CREATE UNIQUE INDEX针对users_id(确保业务主键唯一)CREATE UNIQUE INDEX针对users_phone(确保手机号唯一,加速登录查询)CREATE UNIQUE INDEX针对users_wx_openid(确保微信开放ID唯一)CREATE INDEX针对company_id,usergroups_id,users_parent_id(加速这三个高频业务外键的匹配查询)