2011-12-07 65 views
3

我對Ruby on Rails比較新,所以我不確定如何實現這個。我的理解是,rails並非設計考慮多個數據庫,儘管我可以使用establish_connection等來使它工作。單個或多個數據庫? (Rails 3)

我的主要問題是:

我有一個的SaaS /應用程序,這將有助於幾家企業。每個 業務將有多個數據庫表,如:用戶,評論, 郵件,傳輸,瀏覽歷史,日誌等。看來我有3種 選擇:

1:商店每個人的在一個數據庫數據每個對象都屬於一個企業或只是標記一個businessID /名稱。隨着我的應用程序的增長,使用此標籤可以獲取適當的數據,並擔心縮放/性能。 (我會不得不擔心這很早?)

2:每個業務一個數據庫。不需要存儲關聯和db查詢在應用程序的整個生命週期中一致地執行(這裏可能是錯誤的假設)。

3:有我的應用程序的每個運行一些企業(不知道這是什麼好事)的單獨實例。

我在其他框架/企業中看到的僅僅是(2)多個dbs。 我也非常感興趣的是什麼是最好的實踐在軌道以及。我知道有幾個應用程序有這個相同的問題,並且聽說如何解決這個問題會有幫助。

任何幫助,非常感謝。非常感謝。

Env。
的Ruby 1.9.2
的Rails 3.1
生產:Heroku的或EY(還沒有決定,現在在Heroku上運行)

回答

0

this page,你需要應用一些元編程爲多個數據庫。

爲什麼不讓您的部署腳本部署到具有不同數據庫設置的不同目錄?每個企業有一個分支?可能需要更多維護,但是如果您需要的話,則允許使用每個業務代碼。

+0

謝謝塔斯爲您的答案。我正在閱讀一些關於這個話題的文章,看起來如果我和heroku一起使用,[擁有多個數據庫]將會非常昂貴(http://devcenter.heroku.com/articles/database)。我正在考慮用1:一個數據庫。希望我不會在腳下射擊自己。 – Yuri