【发布时间】:2022-01-11 12:45:46
【问题描述】:
我想用 PostgreSQL 和 RLS 设计一个多租户 SAAS 数据库。我希望能够在同一个数据库中托管所有用户和租户,并使用 RLS 隔离他们的数据。
在我的用例中,租户共享某些用户数据以避免重复这些数据是有意义的。租户将向用户请求权限,这些权限存储在权限表中,这些权限用于控制 RLS。
但是,我需要租户拥有其组织独有的用户数据,例如加入日期或其他数据。我需要知道的是如何设计数据库来保存所有组织特定的数据。我曾想过使用 JSONB 来存储这些数据,例如
user_data_for_tenant
id
user_id
tenant_id
data JSONB
这个data由前端的租户决定。
这样好吗?我怎样才能更好地设计数据库以适应这个用例?
我将使用 Supabase 进行 DB、Auth、存储和其他用途,以便 RLS 可以控制访问。
【问题讨论】:
-
您的应用中是否有跨租户共享的用户?
标签: postgresql multi-tenant supabase rls supabase-database