Files
jurong_circle_black/scripts/README_MERGE_TABLES.md
2025-08-26 10:06:23 +08:00

1.8 KiB

表合并说明文档

概述

本文档说明如何使用 merge_tables.js 脚本将 order_allocations 表数据合并到 transfers 表中,以实现数据库结构优化。

背景

原系统中,order_allocations 表和 transfers 表存在功能重叠,为了简化数据库结构和提高查询效率,我们决定将 order_allocations 表的数据合并到 transfers 表中,并通过 source_type 字段区分不同来源的转账记录。

合并策略

  1. transfers 表添加必要的字段,包括 source_typematching_order_idcycle_number
  2. order_allocations 表中的数据迁移到 transfers
  3. 更新相关的外键引用

使用方法

前置条件

  1. 确保已对数据库进行备份
  2. 确保系统处于维护状态,没有用户正在使用

执行步骤

  1. 进入项目根目录
  2. 执行以下命令运行合并脚本:
node scripts/merge_tables.js
  1. 脚本执行完成后,检查控制台输出,确认迁移是否成功

验证步骤

  1. 检查 transfers 表中是否包含所有 order_allocations 表的数据
  2. 验证系统功能是否正常,特别是与匹配订单相关的功能
  3. 确认无误后,可以考虑删除 order_allocations 表(可选)

回滚方案

如果合并过程中出现问题,或者合并后系统功能异常,可以通过以下步骤回滚:

  1. 使用之前的数据库备份恢复数据
  2. 如果没有备份,可以手动将 transfers 表中 source_type='allocation' 的记录删除,并重新运行原有的系统

注意事项

  1. 合并过程会自动处理已有关联的记录,避免重复迁移
  2. 合并脚本使用事务进行操作,确保数据一致性
  3. 建议在测试环境验证成功后再在生产环境执行

技术支持

如有问题,请联系技术支持团队。