(这个问题是关于对暂时和编程的最佳方式保持同步两个数据库的新记录,具有非常不同的模式,而忽略老-outdated,不再须─记录。)逐渐迁移到新的数据库模式。 ¿建议?
我的工作一家为指南,报纸和网站提供电视节目信息的公司。
我有一个旧的系统,有几个限制,正在被一个新的替换。不同的客户端以不同的格式(xml,sql,txt,甚至可打印PDF)以不同的方式(推,拉,部分转储,简单导出,人工辅助导出 - 如PDF版本 - 等等)。一些出口每月生成一次,其他一次出口不止一次。
问题是几个客户必须依赖旧系统中的数据,直到新系统完全开发和加载,并且维护数据的工作人员不能同时拥有两个数据库,因为这需要很多的额外工作,但考虑到项目的规模,一夜之间的交换系统似乎是不可能的。
我们不想将旧数据库中的数据全部导入新数据库,因为大部分数据已经不再需要,并且有很多垃圾(即具有不同细节级别的重复记录,我们只需要作为存档的旧播放信息)。
我们希望在两个数据库中插入新记录,并且编辑旧记录,并将其复制到新数据库中。
我们即将开始使用Symfony与Doctrine开发新系统,并且我决定设计一组ORM“代理”类,它们应该具有与简单的Doctrine ORM类集相同的接口,但保持同步在两个其他类(与新系统接口的那些类和与旧接口相连的那些类)之间进行。最后,旧数据库应该与代理类一起被丢弃,直接连接到新数据库的Doctrine ORM类应该占据那个位置,就好像旧系统永远不会存在一样。
这是一个长镜头,我对这种方法并不完全有信心。
有没有人有这种项目的经验?
您是否知道这种方法中的任何常见错误,或者可能适合这种情况的其他解决方案?