我开发了一个功能齐全的ruby-on-rails应用程序,它使用了许多mysql表。我想把它变成一个基于订阅的服务,但我有一些一般的,可能是基本的概念性问题:
在诸如Basecamp之类的设置中,每个用户是否都可以访问她/他自己的(如在唯一的)db表中,或者是与数百万用户共享并由某个变量识别的表?
如果是这样,它的规模有多大?什么是最好的数据库使用(mysql,oracle等)?
如果为每个用户提供他/她自己唯一的数据库表;这是如何完成的?是通过佣金任务吗?
您是否有任何资源(书籍,媒体等)可以解释如何完成这些方法?
谢谢!
答案 0 :(得分:2)
我相信这是通过整体帐户实现的。因此,当前系统中的资源将由该帐户确定范围。即在您的索引操作中,例如@projects = @ account.projects。看看大本营,我会说它很好!如果你遇到这个问题,那么你有一个很好的问题需要解决,在此之前不要太担心。我应该想象数据库是一个集群,但非常怀疑每个用户都有自己的一组表,这将成为管理的噩梦!
快速谷歌,我发现了这个:http://www.robbyonrails.com/articles/2009/01/11/subdomain-accounts-with-ruby-on-rails-explained也链接到DHH的帖子,看起来它解释了他们是如何做到的。
可能有更新的写作,但我猜他们将是一个伟大的地方开始。
祝你好运!答案 1 :(得分:0)