我想獲得一個多租戶系統安裝程序,其中每個用戶都有自己的前綴表。基於Symfony2中登錄用戶的Doctrine2動態表前綴
所以我的數據庫可能看起來像
users
acme_posts
my_posts
their_posts
our_posts
像this一種解決方案是一個良好的開端,但它不允許動態創建的前綴。
是否有可能修改上面的原則解決方案來設置基於登錄用戶的數據庫前綴?
另一種方法可能是擁有一個主用戶數據庫,然後爲用戶特定的表具有單獨的數據庫,但我不確定Doctrine是否可以處理多個數據庫之間的關係。
歡迎您提出任何建議。
我不確定我是否正確理解「user_namespace」。你的意思是有一個帖子表與用戶表中的id字段有相關的字段嗎?我試圖避免這種情況,以保持租戶數據的獨立性,並將桌面尺寸降至最低,但也許這是要走的路... – Mike 2012-07-14 16:56:41
是的,這正是我的意思 - 我能想到的唯一的其他優雅解決方案是使用每個用戶的不同應用程序實例,配置爲使用不同的數據庫。這很容易做到,但意味着您必須複製所有常見數據(例如您的用戶表),因爲就我所知,Doctrine不支持跨數據庫關聯 – 2012-07-14 18:09:08