(这个问题是关于
并以编程方式保持两个数据库的新记录同步,具有完全不同的模式,并忽略旧的、过时的和不再需要的记录。)
我在一家为导游、报纸和网站提供电视节目信息的公司工作。
我有一个旧系统,有几个限制,正在被一个新的取代。
不同的客户机以不同的格式(xml、sql、txt,甚至是打印就绪的PDF)和不同的方式(推送、拉送、部分转储、简单导出、人工辅助导出(如PDF版本)等)获取数据。有些出口每月产生一次,有些则每天不止一次。
问题是,在新系统完全开发和加载之前,几个客户必须依赖旧系统中的数据,维护数据的工作人员不能同时拥有两个数据库,因为这需要大量额外的工作,但考虑到项目的规模,一夜之间切换系统似乎是不可能的。
我们希望在两个数据库中插入新记录,并将正在编辑的旧记录复制到新数据库中。
我们即将开始使用Symfony with document开发新系统,我决定我们可以设计一组ORM“proxy”类,这些类的接口应该与一组简单的document ORM类相同,但是要在另外两组类(与新系统接口的类和与旧系统接口的类)之间保持同步。最终,旧的DB应该和代理类一起被丢弃,直接连接到新DB的ORM类应该被丢弃,就好像旧的系统永远不存在一样。
这是一个长期的机会,我不完全有信心的做法。
有人有过这种项目的经验吗?