记一次新旧系统数据迁移

最近因为各种原因需要把一个项目从旧版(PHP)升级到新版(Java),嗯,新版与旧版的数据库结构是不一样的,数据库那边的数据迁移将会是一块难啃的骨头啊。包工头说要把旧版的数据迁移到新版数据库,这回可就唉咋了,怎么办?
于是心头闪过一个方案......
【方案一】
人工录入数据;
别逗了,一百多张表,每张表又有那么多的记录,人工录入到什么时候?
嗯,方案一 fire,既然人工录入资料太麻烦,那就让机器自己录入吧。怎样让机器录入?写脚本咯,嗯,那么......

【方案二】
写脚本;
这种单一重复的工作就应该交给程序来做嘛,嗯,好像可以喔,但是表与表之间的关联能够搞死人啊,而且......好像好难调试的样子(我才不会说是因为我对脚本不熟呢)。
本着面(xiang)向(yao)对(tou)象(lan)的原则,方案二 fire,而且我已经在程序的 Service 层用程序把关联关系弄好了,不想再写一遍程序来处理他们的关系了,想办法调用那些 Service 层的方法吧。嗯,那么就再来一个方案吧:

【方案三】
把旧版数据库的一个个表转换成实体类,这样数据库的迁移也就变为实体类的转换了,转换完成以后只要调用相应的 Service 层方法保存实体类对象,就完成数据的迁移啦。
嗯,可是原先的数据库那么多个表,难道要我针对那些表一个个地写实体类?别逗了啊,这种单一重复的工作就不应该是人做的。有什么方式能够自动根据数据库表自动生成实体类的吗?嗯,有的,至于如何操作,看我下一篇博文。

你可能感兴趣的:(记一次新旧系统数据迁移)