如何从每个子域rails 1 个数据库切换到1 个数据库

问题描述 投票:0回答:1

我有一个多租户应用程序,其中所有内容都存储在 1 个 Postgres 数据库中。所有模型都有一个account_id,因此客户可以看到的数据是基于他的account_id的。这很完美,但出于安全和隐私考虑,客户要求将他们的数据存储在单独的数据库中。那么我需要做什么才能实现这一点呢?当客户登录时,您会连接到其自己的数据库吗?将当前数据迁移到多个客户数据库的最佳方法是什么?

我尝试公寓宝石

ruby-on-rails ruby multi-tenant saas multi-database
1个回答
0
投票

不要尝试使用不同的模式来创建单独的数据库。

这意味着在数据库中为每个客户创建不同的租户。在 psql 中默认支持多租户概念。

当您计划使用公寓宝石时,这是满足要求的最佳选择。因为它在处理多租户逻辑时变得更加容易。

通过这种方式,您可以将每个客户的数据与另一个客户的数据分开。我也使用了这种方法,它非常适合我。

每个客户一个数据库,维护和扩展肯定是痛苦的。

© www.soinside.com 2019 - 2024. All rights reserved.