数据表设计
此页面用于在选定的数据源里设计/维护业务存储表。建表完成后才能在「物模型存表」里把产品数据落到这张表。
三种建表方式
1、手工设计:从空白开始,逐个字段定义。
2、追加默认字段模板:一键加入常用的 6 个字段(id / device_sn / device_name / product_sn / report_time / create_time),快速搭骨架。
3、导入物模型字段:选择产品后,自动读取该产品的物模型字段并插入为列。
4、导入已有表:目标库里已存在的物理表,输入表名一键拉取结构落到平台元数据,不会重建表。
页面入口
菜单:存储管理 → 数据表设计

列表说明
| 列 | 说明 |
|---|---|
| 表名 | 物理表名,建表后不可修改 |
| 备注 | 表的中文说明,写入物理表的 COMMENT |
| 数据源 | 该表所属的数据源名称 |
| 来源 | 页面创建 / 导入 |
| 已建表 | 是否已经在物理库中存在 |
新建表
操作步骤
1、点击 新建表,进入设计器对话框。
2、选择数据源、填写表名(建议小写下划线风格,例如 device_data)、备注。
3、点击 追加默认字段模板 添加内置字段(推荐)。
4、(可选)选择产品 → 点击 导入物模型字段,自动把物模型属性追加为列。
5、按需手动 新增字段 补充其它列。
6、点击 确定,系统会自动在数据库执行 CREATE TABLE。

设计器字段表说明
| 列 | 说明 |
|---|---|
| 字段名 | 物理列名,小写下划线风格 |
| 类型 | 逻辑类型,平台自动按数据库方言转为物理类型 |
| 长度 | 仅 STRING 生效;其它类型自动忽略 |
| 精度/小数 | 仅 DECIMAL 生效 |
| 可空 | 勾选表示允许 NULL,不勾选会加 NOT NULL |
| 主键 | 主键列。建议把 id 设为主键 |
| 默认值 | 可选;写入数据时若该列无来源则使用此默认值 |
| 内置含义 | 写入设备数据时会自动填充,无需在「物模型存表」里再配映射 |
| 备注 | 写入物理列的 COMMENT |
逻辑类型 → 物理类型对照表
| 逻辑类型 | MySQL | PostgreSQL |
|---|---|---|
| STRING | varchar(N) | varchar(N) |
| INT | int | integer |
| LONG | bigint | bigint |
| DECIMAL | decimal(p,s) | numeric(p,s) |
| BOOL | tinyint(1) | boolean |
| DATETIME | datetime | timestamp |
| TEXT | text | text |
| JSON | json | jsonb |
内置含义说明(重要)
| 内置值 | 写入时填充内容 |
|---|---|
ID | 调用 MyBatis-Plus IdWorker 生成雪花 ID,等价于 @TableId(type=IdType.ASSIGN_ID) |
DEVICE_SN | 设备 SN |
DEVICE_NAME | 设备名称(从设备缓存读取) |
PRODUCT_SN | 产品编码 |
REPORT_TIME | 设备上报时间 |
CREATE_TIME | 入库时间(服务器当前时间) |
配置了内置含义的字段不需要在「物模型存表」里再做来源配置,平台会自动填。
追加默认字段模板
点击 追加默认字段模板 按钮,会自动加入下面 6 个字段(已存在的字段会自动跳过):
id (主键, 雪花 ID)、device_sn、device_name、product_sn、report_time、create_time
从产品导入物模型字段
操作步骤
1、在字段操作区下拉选择产品。
2、点击 导入物模型字段 按钮。
3、系统读取该产品的全部物模型属性,按 identifier 作为列名、name/remark 作为备注、dataType 自动映射为逻辑类型。
4、与内置字段(id / device_sn / device_name / product_sn / report_time / create_time)或已添加列重名时自动跳过,弹窗提示哪些字段被舍弃。
物模型 dataType 映射规则
| 物模型 dataType | 逻辑类型 |
|---|---|
| int / integer / short | INT |
| long / bigint | LONG |
| float / double / decimal / number | DECIMAL(18,4) |
| bool / boolean | BOOL |
| date / datetime / timestamp | DATETIME |
| struct / array / object / json | JSON |
| text | TEXT |
| 其它 | STRING(255) |
导入已有表(不重建)
适用场景:物理库里已经存在了一张表,希望平台把它纳管,但不要重新建。
操作步骤
1、点击 导入已有表 按钮。
2、选择数据源、填写已存在的表名、可选备注。
3、点击 导入,系统通过 information_schema 反查表结构落入平台元数据。

注意事项
1、平台只读取列名/类型/可空/默认值/备注,索引、外键、触发器不会被读取,需要的话请在数据库自行维护。
2、导入后该表 来源 列显示 导入,已建表 显示 是。
3、之后在「物模型存表」中可以正常使用这张表。
编辑表(修改字段)
可以做的安全修改
1、加字段:直接在设计器表格里 新增字段,保存后系统执行 ALTER TABLE ADD COLUMN。
2、改备注:列备注或表备注修改后会同步到物理表。
3、改非空:勾选/取消 可空,系统执行 ALTER COLUMN ... SET/DROP NOT NULL。
破坏性修改(需要勾选确认)
1、删字段、改字段类型、改长度/精度都属于破坏性变更,可能导致数据丢失。
2、必须勾选**「允许破坏性变更(删字段/改类型)」**复选框后才能保存,否则后端会拒绝。

注意事项
1、数据源 和 表名 在编辑时不可修改,需要换数据源/改表名时先删除再新建。
2、对于「来源=导入」的表,平台同样支持 ALTER;但要确认对外部库有 DDL 权限。
删除表
点击行 删除 按钮会弹出二次确认框,提供两个选项:
是(同时 DROP):删除元数据 + 在物理库执行 DROP TABLE,数据会丢。
否(仅删元数据):仅删除平台元数据,物理表和数据保留,可日后手动接管。
