Doctrine orm 具有相同结构的两个数据库的条令

Doctrine orm 具有相同结构的两个数据库的条令,doctrine-orm,zend-framework2,Doctrine Orm,Zend Framework2,在我的应用程序(ZF2+原则)中,我必须使用两个单独的数据库和车辆技术数据。两个数据库的结构相同,但数据来自不同的国家 使用一组实体但连接到车辆来源选择的不同数据库的最佳方法是什么 例如,如果车辆原产地为英国,则使用DB1,如果德国使用DB2。如果您有两个具有相同结构的数据库,通常最好将它们合并,以减少维护工作量,并避免以不同方式维护它们。 但是,如果您需要保持数据库的独立性,您可以考虑多表继承< /COD>(或类表继承< /代码>)是否可以是一个很好的解决方案。 我使用多表继承来管理日历事件。

在我的应用程序(ZF2+原则)中,我必须使用两个单独的数据库和车辆技术数据。两个数据库的结构相同,但数据来自不同的国家

使用一组实体但连接到车辆来源选择的不同数据库的最佳方法是什么


例如,如果车辆原产地为英国,则使用DB1,如果德国使用DB2。

如果您有两个具有相同结构的数据库,通常最好将它们合并,以减少维护工作量,并避免以不同方式维护它们。
但是,如果您需要保持数据库的独立性,您可以考虑<代码>多表继承< /COD>(或<代码>类表继承< /代码>)是否可以是一个很好的解决方案。 我使用多表继承来管理日历事件。每个日历事件都有一个开始日期、开始时间、结束日期和结束时间。但是,作为会议的活动也可能包含议程和与会者列表等数据;属于商务午餐的活动可能包含预订和费用报告项目等数据;而商务旅行的活动可能会有行程和确认码等数据。对于多表继承,有一个表(类),每个事件有一行,所有事件共有的每种数据类型有一列。然后是一组表,用于唯一类型的事件和仅对这些事件通用的唯一类型的数据。除了主要的“事件”表之外,我可能还有一张“会议”表、一张“午餐”表和一张“旅行”表。唯一表中的数据映射到事件表,事件表中有一个鉴别器列,用于告知事件与哪个唯一表关联


多表继承背后的理论与您试图做的并不完全相符,因为其目的是组合具有不同结构的数据集,而不是具有相同结构的数据集。然而,它确实为您提供了一个机会,可以组合来自表中的数据,您希望出于任何原因将这些数据分开。如果您发现有必要,还可以灵活地更改这两个表的结构。

如果这两个数据库的结构相同,是否有理由将它们分开?它们由第三方公司提供,并提供每日更新。我不想改变他们的结构。你可以看看这个,它可能会对你有所帮助。从供应商那里得到的信息是,ID没有重叠,数据库可以毫无问题地合并。我打算这样做,但这个问题对我来说似乎很有趣,我仍然对如何实现这一点感兴趣。我也使用这个,但我认为这是一个不同的问题。我认为其中一种方法可能是使用一个工厂,其配置由origin选择。