Rack(及 Rails)应用的数据库多租户
为 Rails 和 ActiveRecord 提供多租户支持
Apartment 提供了一些工具,帮助你在 Rails 应用中处理多个租户。如果你需要根据账户或公司隔离某些数据,但仍允许一些数据存在于公共租户中,Apartment 可以帮到你。
为了帮助推动开发方向并清理代码库,我们想就目前大家如何使用 Apartment 进行一次调查。如果你能花 5 秒钟(1 个问题)来回答这个调查,我们将不胜感激。
如果在使用 Apartment 时,您发现内存问题越来越严重(即随着添加的租户数量的增加),那是因为 ActiveRecord 在将 PostgreSQL 数据类型映射为 AR 数据类型时出现了问题[(https://github.com/rails/rails/issues/19578)]。 此问题已修复,并将在 AR 4.2.2 中发布。不幸的是,很难将其回移植到 4.1。 如果您在使用 Apartment 时发现 ActiveRecord 占用大量内存,请升级。
这就是设置 Apartment 库所需的全部内容。如果你想按用户切换租户,请参阅下方的“用法 - 按请求切换租户”。
注意:如果使用 PostgreSQL schemas,则必须使用:
- 对于 Rails 3.1.x:Rails ~> 3.1.2,它包含一个补丁,使预处理语句能够与多个 schema 一起工作
如何将你的应用数据分离到不同的账户或公司中。
在你可以切换到新的租户之前,
暂无开放 Issues,或尚未同步最近议题。