36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
|
|
# 后端需求 - 编辑数据库时正确处理 sub_tables
|
|||
|
|
|
|||
|
|
## 问题描述
|
|||
|
|
|
|||
|
|
用户点击 Action 修改数据库,进入 Map Tables 页面后:
|
|||
|
|
1. 初始显示 2 个已选中的表
|
|||
|
|
2. 用户取消选中 1 个表,只保留 1 个
|
|||
|
|
3. 点击 Save Mapping 保存
|
|||
|
|
4. 再次点击 Map Tables 查看时,仍然显示 2 个表,而不是修改后的 1 个
|
|||
|
|
|
|||
|
|
## 原因
|
|||
|
|
|
|||
|
|
可能的问题:
|
|||
|
|
1. 编辑时没有正确从数据库加载已保存的 sub_tables 数据
|
|||
|
|
2. Save Mapping 时没有正确更新 sub_tables(可能只是创建新的,没有删除已取消的)
|
|||
|
|
|
|||
|
|
## 需求
|
|||
|
|
|
|||
|
|
### 1. 加载数据库时返回 sub_tables 数据
|
|||
|
|
|
|||
|
|
在获取数据库详情时,需要返回该数据库已保存的子表映射信息(包括 parent_table 等),以便前端正确显示已选中的表。
|
|||
|
|
|
|||
|
|
### 2. 保存时正确处理子表
|
|||
|
|
|
|||
|
|
- 新增的子表:创建新记录
|
|||
|
|
- 保留的子表:更新记录
|
|||
|
|
- 取消的子表:删除对应记录
|
|||
|
|
|
|||
|
|
或者使用更简单的方案:
|
|||
|
|
- 保存时删除该数据库所有的旧 sub_tables
|
|||
|
|
- 重新创建新的 sub_tables 记录
|
|||
|
|
|
|||
|
|
## 状态
|
|||
|
|
|
|||
|
|
- [ ] 后端修改待实现
|