2017-01-23 40 views
0

朋友們,我正在構建一個服務應用程序,並希望看到一個重要的建議來實現。使用Laravel 5.3和Codeigniter的多數據庫設計應用程序

該應用程序的核心是管理研究項目,因此它將擁有一組屬於組織的用戶,他們登錄並管理他們自己的項目。許多組織開展這些性質相同的項目。項目管理具有相同的數據庫表和模式(跨機構)。我設計了一個計劃如下:

  1. 數據庫-1:一種常見的數據庫用戶表(所有機構一起)通過查詢該表得到驗證。該表格具有對應於每個用戶的機構代碼作爲列。數據庫-2(基於機構代碼的名稱):基於機構代碼,所有項目管理都通過連接到該數據庫來完成。在這個數據庫表中將出現。

....

  • 數據庫-X(體制碼作爲它的名字).....
  • 所有數據庫將具有相同的架構和相同的用戶界面。聰明的管理很容易這樣。

    現在,使用Laravel,我知道我可以連接到多個數據庫。我已經在codeigniter 3中做了這個,但是試圖遷移到Laravel 5.3,因爲Codeigniter 3和Laravel 5.3之間的模型架構不同。

    有什麼更好的建議。我知道我的查詢不是純粹的問題,但這個問題是關於多對多關係的實現。

    回答

    0

    由於所有機構將具有相同的模塊和相同的功能,您爲什麼要創建多個數據庫?我已經成功地完成了一個類似的項目,這是一個集中的CMS,它將所有的教會集成到CodeIgniter的一個教區中。

    只需在所有表格中添加一個機構編號,並每次查詢帶有機構標識的表格操作。添加多個數據庫肯定會降低您的項目性能並增加複雜性。機構表將跟蹤您的所有機構。

    如果您需要更多關於數據庫結構和實施的細節,請在下面評論。

    +0

    我已根據您的建議完成編碼。但是,嘗試這樣做有三個原因。 (i)當數據庫膨脹時,發現查詢速度更快;(ii)沒有總體管理員。它是管理他們自己的研究所的本地管理員。管理應用程序備份和維護的應用程序管理員(iii)如果需要在計費問題上停止機構,則不需要從整個表中取出特定的機構數據。我將這些視爲優勢。 – user6404606

    0

    我已經成功地處理了多重數據庫和mutltiple域應用程序。 因爲我創建了一個表「分支機構」,它存儲了多個分支機構的詳細信息,如其數據庫名稱,域名等 。

    我已經設置了紀錄域=「BRANCH1」,數據庫=表「db_branch1」「樹枝」

    還設置了哪個檢查有效域名,並允許域「BRANCH1」相關的路由中間件。

    一旦主公用數據庫驗證用戶信用證,它將連接到主連接中的分支數據庫。

    它不能用很短的方法解釋,這裏我只是解釋工作流程。如果你需要更多的細節,我會解釋它。

    相關問題