簡體   English   中英

單個數據庫Ruby on Rails 4具有多個用戶

[英]Multiple users with single database Ruby on Rails 4

我正在構建一個系統(完成后)將為多個商業客戶提供服務。 我需要完成以下任務:

  1. 應用程序應使用一個數據庫
  2. 每個商業客戶將有多個用戶。
  3. 當任何商業客戶的用戶創建/讀取數據時,他們應該在商業客戶的名稱空間下進行此操作。...因此,他們應該不能看到其他客戶的數據,也不應被允許為其他用戶創建數據等。顧客。

最初,我認為最好的方法是通過關聯將所有用戶分配給商業客戶。 由於擔心查詢過多數據庫,我進行了一些研究,發現了一些有關Rack和中間件的信息。 這似乎是實現我想要的目標的另一種選擇,但是這讓我有些困惑。

在我的應用中實現此類功能的最佳選擇是什么?

** PS。 所有商業客戶都將擁有唯一的URL ex。 customer1.myapp.com

謝謝

機架和中間件是請求在到達您在控制器和模型中編寫的代碼之前經過的層。 簡而言之,如果您需要某種預處理,或者需要進行某種性質的處理,那么您就不會與中間件混為一談。 對於這種特殊情況,您不需要處理中間件。

您正在構建一個標准的Rails應用程序,該應用程序可以服務於不同的客戶端(用戶,如果可以的話)。 可以對數據庫進行許多查詢。 重要的是要確保查詢效率高,並正確使用ActiveRecord系統,這將大大提高效率。 您可以使用Model#includesModel#eager_load以及其他Model#eager_load方法。

至於customer1.myapp.com ,Rails指南中有很多信息來進行設置和接口。

您正在尋找的是Multitenancy

有幾種方法可以實現它。 一種選擇是使用PostgreSQL的模式。

您可以看看寶石公寓 也許您可以從中得到一些想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM