可以将Doctrine与Postgres DB& MSSQL DB同时?

时间:2012-03-23 20:26:50

标签: php sql-server api postgresql doctrine

在我的工作中,我们有两个非常密切相关的独立网站。其中一个是ASP / MSSQL站点,另一个是PHP / Postgres站点。

我想创建一个REST API,从现在开始构建的所有内容都是基于。我希望将它绑定到两个DB,以便它可以是检索和设置数据的单点。

我正在考虑使用像Doctine这样的DBA来避免以两种不同的语法编写查询。在同一个系统中是否可以将Doctrine的部分内容绑定到MSSQL,将其他部分绑定到Postgres?

如果是这样,怎么样?欢迎任何其他关于设计的想法。

2 个答案:

答案 0 :(得分:1)

在您的应用程序框架中,您需要配置两个单独的实体管理器,每个管理器将连接到不同的数据库。有关http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/configuration.html

的实体经理的更多信息

核心架构模式是您的模型是纯PHP对象,实体管理器(Data Mapper)将读取映射配置以了解如何将模型映射到数据库。

答案 1 :(得分:0)

如果您正在编写基于REST的API,那么数据库后端应该是什么并不重要。例如,如果你用Django和tastypie的组合编写你的API,你可以简单地换出settings.py配置来同时使用Postgres和MySQL ......如果你选择的话,甚至是MongoDB

关键是,REST API是一种可以被多种语言使用的通用解决方案,您应该选择一个允许您在数据库后端中实现相同灵活性的框架。