SaaS - 共享数据库中租户特定的查找数据

2023-12-01

我正在开发基于多租户 SaaS 的应用程序,并使用共享数据库在 TenantId 列的帮助下存储所有租户记录。

现在的问题是我有一些查找记录列表需要为所有租户共享。例如游戏列表。

游戏桌

Id
GameName

还有另一个表用于仅存储租户特定记录

租户游戏

Id
TenantId
GameName  

基本需求是我想使用两个表数据并获取必要的详细信息(Game_Name),同时与另一个事务表(如 UserGames)连接。我怎样才能用这个设计来实现这个目标?这里的 Game_Name 可以从 Games Shared 表或 TenantSpecificGames 表中引用

是否有任何其他数据库设计允许我将公共主数据和租户主数据与 JOIN 混合?

基本要求是保留通用数据,并允许租户自定义(如果他们想要添加任何新项目)。


这就是我接下来要使用的设计。

Games

Id
GameName
IsTenantSpecific
SomeGameSpecificColumn

租户游戏

GameId
TenantId
SomeTenantSpecificColumn
AnotherTenantSpecificColumn

然后您可以在连接中查询该表:

...
FROM
    Games
    INNER JOIN UserGames ON
        UserGames.GameId = Games.Id
    LEFT JOIN TenantGames ON
        TenantGames.GameId = Games.Id
WHERE
    TenantGames.TenantId = @tenantId OR
    (
        TenantGames.TenantId IS NULL AND
        IsTenantSpecific = 0
    )

游戏特定字段可以放入游戏表中。可以将特定于租户的字段添加到 TenantGames 表中,如果不是特定于租户的自定义,这些字段将为 NULL。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SaaS - 共享数据库中租户特定的查找数据 的相关文章

  • 在 MySQL 数据库中存储图像文件或 URL?哪个更好? [复制]

    这个问题在这里已经有答案了 可能的重复 在数据库中存储图像 是还是否 https stackoverflow com questions 3748 storing images in db yea or nay 数据库中的图像与文件系统中的
  • Elasticsearch 聚合过滤器

    因为我在谷歌上找不到任何东西 是否可以在elasticsearch中过滤聚合 我正在考虑这样的事情 获取 SOME object X gt 100 的所有对象 提前致谢 编辑 样本数据 我有以下文档结构 docKey 1 value 2 d
  • PostgreSQL 中字符串列类型的索引数组

    是否可以在类型为的列上创建索引文本数组 尝试使用GIN索引 但查询似乎没有使用这些索引 Example CREATE TABLE users name VARCHAR 100 groups TEXT Query SELECT name FR
  • 使用 Keycloak 和 Spring Boot 的多租户

    我正在使用 spring boot 适配器和 keycloak spring boot 适配器来执行多租户 我可以使用 ip 和域名访问页面 但是当我运行 gradlew 脚本时 似乎没有检测到这个 bean 也没有发生任何变化 即使在我添
  • 如何在 Delphi DBLookupComboBox 中选择正确的项目

    我有一个数据库查找组合框连接到数据库查询 那部分工作正常 当我运行程序时数据库查找组合框填充有查询的结果 我想看看数据库查找组合框填充第一项 请选择 当 的时候程序第一次运行或者当一个新项目行动已启动 见下图 另外 如果我正在加载以前保存的
  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • 如何在 PostgreSQL 中将数据库从一台服务器移动到另一台服务器?

    我正在尝试将数据库从旧服务器移动到新服务器 任何帮助 将不胜感激 Just pipe http www postgresql org docs current interactive migration html从旧服务器转储到新服务器 p
  • 数据库分片和 Rails

    在 Rails 中处理分片数据库的最佳方法是什么 分片应该在应用层 活动记录层 数据库驱动层 代理层还是其他层处理 各自的优点和缺点是什么 FiveRuns 有一个名为的 gem数据结构 https github com bpot data
  • APEX 安装失败,PLS-00201:必须声明标识符“SYS.DBMS_DB_VERSION”

    尝试在 Oracle XE 18c 数据库上安装 Oracle APEX 20 2 如下官方说明 https docs oracle com en database oracle application express 20 1 htmig
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • 在触发期间更新 oracle 中的同一行?

    简短的问题 因为我不知道如何搜索这个 我可以 重新更新 同一行吗 例如 我有一个存储付款小计的字段 并且考虑到我的业务限制 我可以更新该值 我可以仅用触发器更新同一行的总计吗 预先谢谢您 顺便说一句 我正在使用 Oracle 和 PL SQ
  • .NET 的 BLOB 分布式存储?

    我正在寻找一个经过相当好的测试的库 服务器来存储持久的分布式哈希表 我对使用基于 SQL 的解决方案犹豫不决 因为数据是高度面向文档的 由数百万个约 64KB 的 blob 组成 只有一个索引 由所述 BLOB 的哈希计算 并且需要能够进行
  • 用于捕获审计跟踪的数据库设计的想法[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如何维护数据库中的数据日志 我必须维护对每一行所做的每次更改的日志 这意味着我不能允许DELETE and UPDATE待执行 我怎样才能保留这
  • 同时使用 GUID 和自动递增整数

    我一直在研究使用 GUID 作为数据库中的主键 到目前为止 利似乎大于弊 然而 我发现 GUID 可能不是我想要的 在我的应用程序中 用户应该能够根据用户友好的 ID 来识别对象 因此 例如 如果他们想要获取特定产品而不输入全名 则可以使用
  • 串行类型的外键 - 确保始终手动填充

    我有两个表 国家和地区 CREATE TABLE Countries id SERIAL name VARCHAR 40 NOT NULL PRIMARY KEY id CREATE TABLE Regions id SERIAL coun
  • 有没有办法阻止 SQL Express 2008 空闲?

    我使用 SQL Express 2008 作为 Web 应用程序的后端 问题是 Web 应用程序是在工作时间使用的 因此有时在午餐或休息时间 如果 20 分钟内没有用户登录 SQL Express 将进入空闲状态模式并释放其缓存 我知道这一
  • Sequelize.js 中的自定义或覆盖连接

    我需要使用创建自定义连接条件Sequelize js http sequelizejs com使用 MSSQL 具体来说 我需要加入TableB基于一个COALESCE中的列的值TableA and TableB并最终得到这样的连接条件 L
  • 非常大的字段会对 MySQL 数据库产生负面影响吗?

    我目前正在使用 Django 构建一个网站 并希望托管用户生物样式页面 该页面可能长达几 KB 这些字段不一定需要搜索 但在查找用户名时确实需要提供 将这些数据存储在数据库中会产生负面影响吗 如果我使用带有数据库链接的静态文本文件 我的服务
  • 如何使用 django ORM 在外键字段上连接两个表?

    假设我有以下模型 class Position models Model name models CharField class PositionStats models Model position models ForeignKey P
  • 为什么 Docker 不支持多租户?

    我看了这个关于 Docker 的 YouTube 视频 https www youtube com watch v vb7U 9AO7Ww22 00 演讲者 Docker 产品经理 说道 您可能会想 Docker 不支持多租户 您是对的 但

随机推荐

  • 外键约束

    由于 FK 约束 两个表相互关联 我试图通过禁用所有触发器来更新这些表 但仍然收到以下错误 UPDATE 语句与 FOREIGN KEY 约束 FK TEST REFERRING REFPHYSI 冲突 冲突发生在数据库 ccdb 表 db
  • Vba 将 CSV 文件导入 Excel

    我正在尝试使用 VBA 代码将 Csv 文件导入 Excel 我希望它能够处理所有 Csv 文件 但事实并非如此 这是我的代码 Sub Input CSV Dim Wb As String Dim Arr Set Wb GetObject
  • 访问父表单

    我知道这个标题可能看起来很愚蠢 想不出更好的东西 抱歉 我有 2 个表单 C 主表单包含第二个表单的实例 有没有办法 从 form2 的实例访问 Form1 的运行实例 入口点 及其属性 每个人都告诉我要学习 OOP 我很久以前就明白了 但
  • 如何编写自定义查询codeigniter

    我有以下查询及其在 MySQL 中的工作 SELECT FROM usr booking WHERE shop id 1 AND services dates 2019 01 02 AND start time BETWEEN 10 00
  • MySQL 自动将字符串转换/转换为数字?

    MySQL 是否自动将字符串转换 转换为数值 这种转换是如何进行的 1234 1234 1abc 1 文本 1 鉴于units id是bigint类型 这个查询将如何解释 SELECT table FROM table WHERE id t
  • Talend:java.lang.UnsatisfiedLinkError:java.library.path 中没有 sapjco3

    我的 jar 和 dll 位于 Talend lib 目录中 路径和类路径已设置 我还下载并安装了 VC 2005 redistribution sp 1 补丁以及 SAP 提供的缺少的 dll 我尝试在 Windows 2003 机器和
  • Gekko 的最佳解决方案

    我想使用 hyperopt 进行超参数优化 但在找到超参数搜索空间的正确公式时遇到问题 我的问题的最佳解决方案是 0 4050 2100 2100 1200 0 0 450 150 我的尝试代码 from gekko import GEKK
  • 将URL请求的内容写入文件

    我正在尝试使用 python 从 php 文件中获取列表并将其保存到文件中 import urllib request page urllib request urlopen http crypto bot hopto org server
  • 检查文本字段是否包含javascript中的字母

    我是 Javascript 新手 我想知道是否有办法检查文本字段输入是否包含数字以外的任何内容 我知道如何在 Java 中做到这一点 但 Javascript 对我来说是完全不同的事情 是的 只是字符串上的标准正则表达式 var str m
  • 清除 Spyder 中的历史记录窗格

    我不知道 Spyder 历史保留了多少行 但是 3个月前执行的命令没有机会被搜索回来再次运行它们 历史记录中的大多数命令只是对 python 文件的调用 重新打开文件来运行它也很容易 启动 IDE 时必须加载这个长列表 从而增加了加载时间和
  • 使用 Python 模拟 Linux 中的击键

    如何在Python中模拟击键 我还想同时按下多个键 就像是 keystroke CTRL F4 or keystroke Shift A 考虑python uinput and evdev 的例子shift a与后者 from evdev
  • python(pygame)中动画速度的问题

    我正在制作一个忍者游戏 其中忍者必须通过跳跃 按空格键 来躲避障碍物 但是跳跃动画太快 忍者无法跳过障碍物 我希望它跳得慢一点 以便让它跳出障碍物 即使按下按键后松开 也能跳到394 y值 然后再下来 请注意 我是初学者 import py
  • Oracle SQL 选择匹配查询

    我有下面这个表 uid rid time type date time a11 1 1 5 4 2013 00 32 00 row1 a43 2 1 5 4 2013 00 32 01 row2 a68 2 2 5 4 2013 00 32
  • 如何用狮身人面像制作2列

    我想在我的文档中创建多个列 在全球范围内 我想做类似的事情这个主页 其中有 3 栏 一栏包含当前版本 一栏包含新闻和更新 以及基础知识 当我在谷歌上搜索 Sphinx 中的多列时 我发现将列表分成两列 这不是我的情况 在维基上 我发现的多列
  • 如何根据平均值、中位数、第 1 和第 9 十分位数值生成数据集?

    我有以下描述数据集的值 Number of Samples 5388 Mean 4173 Median 4072 1st Decile 2720 9th Decile 5676 我需要生成适合这些值的任何数据集 我发现的所有例子都要求你有标
  • PyQt5 TabWidget tabBarClicked TypeError:本机 Qt 信号不可调用

    我正在尝试使用 PyQt5 制作用户界面 如果我单击第 5 个索引选项卡 userSettings 函数将调用 但程序会引发此错误 self tabWidget tabBarClicked 5 connect self userSettin
  • python minmax仅使用递归

    我正在尝试构建一个函数 该函数接受一个列表并返回一个 最小值 最大值 的元组 例如 2 1 4 9 4 5 会回来 1 9 我尝试仅使用递归 并且希望执行此任务 而不使用其他可以使此操作变得非常简单的东西 例如 min max sort s
  • WP7 图像 Uri 作为 StaticResource

    我有一个 Windows Phone 7 应用程序 我正在尝试将一些常见元素移动到资源文件中 文本和样式工作正常 但我正在努力寻找正确的方法来划分 Uri 这是我正在尝试开始工作的代码示例
  • 权限从publish_stream迁移到publish_action

    我想知道您是否拥有publish stream 的用户权限 并且您希望从现在开始publish action publish stream 是否涵盖这两者 还是我们需要重新请求用户权限 如果是这样 检测他们是否获得此权限等最简单的方法是什么
  • SaaS - 共享数据库中租户特定的查找数据

    我正在开发基于多租户 SaaS 的应用程序 并使用共享数据库在 TenantId 列的帮助下存储所有租户记录 现在的问题是我有一些查找记录列表需要为所有租户共享 例如游戏列表 游戏桌 Id GameName 还有另一个表用于仅存储租户特定记