Files
jurong_circle_black/scripts/README_MERGE_TABLES.md

56 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2025-08-26 10:06:23 +08:00
# 表合并说明文档
## 概述
本文档说明如何使用 `merge_tables.js` 脚本将 `order_allocations` 表数据合并到 `transfers` 表中,以实现数据库结构优化。
## 背景
原系统中,`order_allocations` 表和 `transfers` 表存在功能重叠,为了简化数据库结构和提高查询效率,我们决定将 `order_allocations` 表的数据合并到 `transfers` 表中,并通过 `source_type` 字段区分不同来源的转账记录。
## 合并策略
1.`transfers` 表添加必要的字段,包括 `source_type``matching_order_id``cycle_number`
2.`order_allocations` 表中的数据迁移到 `transfers`
3. 更新相关的外键引用
## 使用方法
### 前置条件
1. 确保已对数据库进行备份
2. 确保系统处于维护状态,没有用户正在使用
### 执行步骤
1. 进入项目根目录
2. 执行以下命令运行合并脚本:
```bash
node scripts/merge_tables.js
```
3. 脚本执行完成后,检查控制台输出,确认迁移是否成功
### 验证步骤
1. 检查 `transfers` 表中是否包含所有 `order_allocations` 表的数据
2. 验证系统功能是否正常,特别是与匹配订单相关的功能
3. 确认无误后,可以考虑删除 `order_allocations` 表(可选)
## 回滚方案
如果合并过程中出现问题,或者合并后系统功能异常,可以通过以下步骤回滚:
1. 使用之前的数据库备份恢复数据
2. 如果没有备份,可以手动将 `transfers` 表中 `source_type='allocation'` 的记录删除,并重新运行原有的系统
## 注意事项
1. 合并过程会自动处理已有关联的记录,避免重复迁移
2. 合并脚本使用事务进行操作,确保数据一致性
3. 建议在测试环境验证成功后再在生产环境执行
## 技术支持
如有问题,请联系技术支持团队。