2012-03-23 49 views
0

在我的工作中,我們有兩個密切相關的獨立站點。其中一個是ASP/MSSQL站點,另一個是PHP/Postgres站點。Doctrine可以同時用於Postgres DB&MSSQL DB嗎?

我想創建一個REST API,從現在開始,所有東西都建立在其上。我希望它被綁定到兩個數據庫,以便它可以成爲檢索和設置數據的單一點。

我正在考慮使用像Doctine這樣的DBA避免用兩種不同的語法編寫查詢。在同一個系統中,是否有可能將Doctrine的一部分與MSSQL和其他部分綁定到Postgres?

如果是這樣,怎麼樣?歡迎任何其他的設計想法。

回答

1

在您的應用程序框架中,您需要配置兩個獨立的實體管理器,每個實體管理器都將連接到不同的數據庫。更多關於實體經理http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/configuration.html

核心架構模式是您的模型是普通的PHP對象,實體管理器(Data Mapper)將讀取映射配置以知道如何將模型映射到數據庫。

+0

謝謝我一定會看看這個! – MrBojangles 2012-04-05 13:22:11

0

如果你正在編寫一個基於REST的API,它應該不會有什麼關係,DB後端是什麼。例如,如果你用Django和tastypie的組合編寫你的API,你可以簡單地換掉settings.py配置來同時使用Postgres和MySQL ......或者甚至是MongoDB,如果你這樣選擇的話

問題是,REST API是一種可以被多種語言使用的通用解決方案,您應該選擇一個框架,使您可以在DB後端實現相同的靈活性。

+0

製作API的關鍵是要有通用的解決方案,但是我所問的問題是指構建不使用它的API;) – MrBojangles 2012-04-05 13:21:56