项目重构关于数据迁移问题

老项目准备重构,新库和老库数据结构差别很大,一般数据清洗迁移是写一个脚本运行呢?还是有什么迁移工具可以完成?
如果是脚本清洗如何验证数据的完整性?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

前段时间公司技术转型 把之前php项目重构成java项目,表结构差异比较大,每个表写个command文件解决.

2周前 评论
Geekc (楼主) 2周前
oceanjiayu (作者) 2周前
讨论数量: 14

蹲一个解决方案🐶

2周前 评论

蹲一个解决方案🐶

数据结构不一样, id 关联应该也会有变动吧,我觉得大概率需要自己完成

2周前 评论
Geekc (楼主) 2周前
陈先生

我的建议是手写脚本迁移,以表为单位来规划数据。

2周前 评论

应该是要脚本同步了吧,然后人工+程序随机核验数据

2周前 评论

差异大肯定要写脚本了,如果不大的话用Navicat同步

2周前 评论

前段时间公司技术转型 把之前php项目重构成java项目,表结构差异比较大,每个表写个command文件解决.

2周前 评论
Geekc (楼主) 2周前
oceanjiayu (作者) 2周前

只能自己写脚本进行迁移了。

2周前 评论
sanders

蹲一个解决方案🐶

用脚本清洗数据,那肯定也是用脚本验证完整性最合适。

2周前 评论

确保表的主键id 和业务没有关系 其他的数据 写个脚本清洗一下即可

2周前 评论

只能脚本迁移了,肯定会有新Id和原来id对不上的情况,可以保留一个字段用来放原来的id,然后关联相关的数据。

2周前 评论

工具不现实,特别是这种高定制化的。

再说自己写脚本也不麻烦啊,
写个command就好。

把表字段映射写好
a_field_map = [  
   'Id' => 'id', # 老表字段:Id 新表字段:id
   'user_name' => 'username' 
   ...
]
然后查老表数据 foreach一把梭。
只要表字段映射没错,数据也不可能错误。
2周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!