2013-12-23 58 views
0

對於一個項目,我們希望使用包含不同類型用戶的多個數據庫。該網站分爲多個子域名。這意味着:1個子域擁有1個數據庫。我們有1箇中央數據庫來跟上現有的子域數據庫。多個數據庫中的Symfony/Doctrine用戶

在中央數據庫中,我們擁有必須能夠管理每個子域應用程序的管理員用戶。在其他數據庫中,我們具有子域特定用戶。用戶存儲爲Doctrine實體(Symfony 2的FOS用戶包),並通過其ID綁定到其他實體(外鍵約束)。中央數據庫和子域數據庫的實體相同。

用戶必須綁定到子域特定條目(閱讀:實體實例)。對於特定於子域​​的用戶來說,這沒有問題,但我們不知道如何爲管理員用戶(位於中央數據庫中)實現此目的。無法滿足外鍵約束,因爲管理員用戶在子域特定數據庫中不存在。

重構一些實體並不成問題。我們希望你們對我們有任何建議。提前致謝。

P.S. 我們可以輕鬆地在所有數據庫之間切換。在整個應用程序中這是可能的,除了登錄。這是由FOS用戶包處理

回答

0

我建議你在一個集中的地方爲子域中的所有用戶使用一個基本用戶實體,並且對於每個子域,將會有一個擴展用戶實體,存儲額外的信息,與特定的子域相關。可能的結構可以使用單個表繼承,但它不是必須的。

相關問題