# 后端需求 - 字段映射保存与读取

## 问题描述

前端 Edit Mapping 页面中，用户输入的字段中文映射名（mapped_name）在保存后，第二次打开时丢失了。

## 原因分析

1. **保存时**：前端只保存了表级别信息，没有保存字段的中文映射
2. **加载时**：前端每次都从 `/database/check` 重新获取表结构，没有读取已保存的映射数据

## 需求

### 1. 保存字段映射

前端保存时需要传递每个字段的中文映射名，后端需要存储这些数据。

请求结构：
```json
{
  "name": "数据库名",
  "sub_tables": [
    {
      "parent_table": "users",
      "sub_table_name": "用户表",
      "sub_table_comment": "用户表",
      "fields": [
        {
          "column_name": "id",
          "mapped_name": "编号"
        },
        {
          "column_name": "username",
          "mapped_name": "用户名"
        }
      ]
    }
  ]
}
```

### 2. 返回字段映射

后端在返回表结构时，需要同时返回已保存的字段映射信息。

返回结构：
```json
{
  "success": true,
  "tables": [
    {
      "table_name": "users",
      "table_comment": "用户表",
      "ddl": "...",
      "columns": [
        {
          "column_name": "id",
          "data_type": "int",
          "column_type": "int(10)",
          "column_comment": "",
          "mapped_name": "编号"
        },
        {
          "column_name": "username",
          "data_type": "varchar",
          "column_type": "varchar(50)",
          "column_comment": "用户名",
          "mapped_name": "用户名"
        }
      ]
    }
  ]
}
```

### 3. 数据存储

- 可以在 `sub_table_info` 表中增加 `fields` JSON 字段存储字段映射
- 或者创建新的关联表 `sub_table_fields`

## 影响范围

- `server/internal/service/database_service.go` - Create/Update 方法
- `server/internal/model/` - 数据模型修改
- 子表映射的数据存储结构

## 优先级

高 - 用户输入的映射数据丢失影响使用体验
