维表(维度表资产)
维表用于在平台上登记和管理维度表资产。每条维表记录绑定一个远程数据库(MySQL 或 PostgreSQL)的链接串与表名,平台据此读取/同步表结构与数据,并附带中文名、应用、责任人、描述等业务元信息。
入口:「数据资产」-「维表」。后端模型
Dimension_table(表名dimension),视图dimension_table_modelview。
新建维表
通过「数据资产」-「维表」-「添加维表」新增维表。维表的表结构信息从 MySQL / PostgreSQL 获取,因此链接串地址需要写明数据库类型、账号、密码、IP、端口、库名等信息。其余的应用、标签、描述、责任人等,均为客户自行定义的维表元信息。
链接串支持以下两种格式(见 myapp/views/view_dimension.py:247,249):
- MySQL:
mysql+pymysql://账号:密码@ip:端口/库名?charset=utf8 - PostgreSQL:
postgresql+psycopg2://账号:密码@ip:端口/库名
链接串受正则校验,必须以
mysql+pymysql://或postgresql+psycopg2://开头(myapp/views/view_dimension.py:249)。

维表可以由用户自行扩充列,定义好列名、字段类型等,在基础字段之外新增字段。列信息保存在维表记录的 columns 字段中。

权限:维表的「责任人(owner)」字段以逗号分隔多个用户,
*表示全部可见。只有管理员、或维表明确列出的责任人才能编辑维表结构、增删远程数据、清空、批量上传、更新远程表(myapp/views/view_dimension.py中user_can_view_dimension_data/user_can_edit_dimension_data)。
修改维表
在每个维表最后的「更多」按钮中,点击「修改」即可更改维表信息。

删除维表
在每个维表最后的「更多」按钮中,点击「删除」即可删除该维表记录。
说明:删除的是平台上的维表登记记录,不会改动远程数据库中的真实表。
更新维表(同步到远程)
点击「更新远程表」可以把平台上更新的维表结构同步到远程数据库。该操作对应接口 GET /dimension_table_modelview/api/create_remote_table/<dim_id>(myapp/views/view_dimension.py:415-417),会按平台维表的列定义在远程库中创建/更新对应的表结构。

清空与批量删除
- 清空(clear):清空选中维表在远程库中的所有数据内容。对应
clear动作(myapp/views/view_dimension.py:389的delete_all),该动作标注为single=True, multiple=False,即一次只能对单个维表执行清空,不支持列表多选。 - 批量删除:删除选中维表在平台上的登记记录(支持列表多选,走框架默认 delete 动作),但不更改远程数据库中的真实表数据。
批量导入导出
点击单个维表的表名链接,可进入该维表的数据查看界面(前端 metadata_dimension 页面,myapp/models/model_dimension.py:33,36)。例如点击表名为「aihub 应用」的维表链接,进入「aihub 应用」的数据列表,在此界面可对该维表数据进行批量导入和导出。
相关接口(myapp/views/view_dimension.py):
- 批量上传:
POST /dimension_table_modelview/api/<dim_id>/api/upload/ - 下载上传模板:
GET /dimension_table_modelview/api/<dim_id>/api/download_template/ - 批量下载:
GET /dimension_table_modelview/api/<dim_id>/api/download/ - 单行增删改查:
/dimension_table_modelview/api/<dim_id>/api/(GET 列表 / POST 新增 /<pk>的 PUT、DELETE)
