【问题标题】:Implementing shared database for multi tenant application in php在 php 中为多租户应用程序实现共享数据库
【发布时间】:2018-06-13 23:45:21
【问题描述】:

我使用“共享数据库,共享架构。租户标识符(租户键)将每一行与正确的租户相关联”为多租户应用程序设计了我的 MySQL 数据库。结构如this帖子所示。

我使用 Codeigniter 作为我的 PHP 框架并使用 Ion_Auth 进行身份验证。为租户选择数据时,如何避免在我在数据库上运行的每个选择查询中添加额外的“where tenant_id = user_id”子句。在 Ion_Auth 上实现组似乎是这样做的一种基本方式,但这会造成它自己的混乱。

有没有办法在全球范围内做到这一点?

【问题讨论】:

    标签: php mysql codeigniter saas


    【解决方案1】:

    每个表都需要一个tenant_id 来分隔行。对于 SELECT,您可以创建一个嵌入“WHERE tenant_id = user_id”子句的 VIEW。 user_id 是数据库用户,因此您需要为每个租户创建一个数据库帐户。 这给出了明确的描述:https://opensource.io/2017/12/07/mysql-multi-tenant/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-17
      • 2014-03-21
      • 2018-12-03
      • 2016-03-15
      • 2011-03-22
      • 1970-01-01
      • 2019-05-18
      • 2014-01-16
      相关资源
      最近更新 更多