【发布时间】:2017-10-21 04:02:58
【问题描述】:
我正在使用 Rails 实现一个多租户应用程序。我的方法是不使用 postgres 内置的多租户功能并添加一列来记录子域。这就是问题所在:)
让我们来看看这个例子
class Organisation < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :organisation
end
我在这里考虑两种方法:
方法 1
仅将subdomain 列添加到organisations
- 优点 - 关系数据库的工作方式\0/
- 缺点 - 当我有更复杂的查询时,这会使我的代码变慢
方法 2
将subdomain 列添加到organisations 和users
- 优点 - 这将使查询更快
- 缺点 - 我要反对关系数据库
所以问题是,在以上两种方法之间我应该遵循什么样的方法,或者有没有我没有想到的不同方法?
【问题讨论】:
-
我看到有人投票结束这个问题,因为这是一个基于意见的问题。但是我不同意它,因为这个问题更多的是关于设计决策,我已经概述了我的想法。我不是在问什么是最好的编辑器 VIM 或 Sublime ;)。
标签: ruby-on-rails ruby-on-rails-5 multi-tenant