在我的工作中,我们有两个非常密切相关的独立网站。其中一个是ASP / MSSQL站点,另一个是PHP / Postgres站点。
我想创建一个REST API,从现在开始构建的所有内容都是基于。我希望将它绑定到两个DB,以便它可以是检索和设置数据的单点。
我正在考虑使用像Doctine这样的DBA来避免以两种不同的语法编写查询。在同一个系统中是否可以将Doctrine的部分内容绑定到MSSQL,将其他部分绑定到Postgres?
如果是这样,怎么样?欢迎任何其他关于设计的想法。
答案 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是一种可以被多种语言使用的通用解决方案,您应该选择一个允许您在数据库后端中实现相同灵活性的框架。