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