我需要在Symfony2中为应用程序保留一个存档数据库。
在其中,我将保留所有超过90天的记录。我当时以为我只能使用一个实体管理器(因为两个数据库是相同的)。
首先,我不确定这是否是最好的方法/解决方案。
而且,除此之外,我不知道如何实现这个想法(我刚刚发现2个数据库的2个实体管理器)。
如果这是一个愚蠢的问题,很抱歉,但是我已经为它寻求解决方案已有2天了。
最佳答案
这是不可能的,每个实体管理器只能使用一个数据库连接the docs seem quite clear about it。
因此,我认为您将不得不使用两个EM。每个都将配置有一组重复的映射。但是,如何使用它们的细节取决于您:
我想这还取决于归档数据库的意义。如果是某种架构性的东西,例如它需要在不同的服务器上或其他任何东西上,那么您就陷入了上述困境。另一方面,如果您真的只是希望旧数据不显示在日常查询中(没有特别要求),那么最好实现某种“存档”标志和一个Doctrine Extension,神奇地将存档的项目隐藏起来,直到您要它们为止,与SoftDeleteable非常相似