mysql在php中实现多租户应用共享数据库

qnzebej0  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(375)

我已经使用“共享数据库,共享模式”为多租户应用程序设计了mysql数据库。租户标识符(租户密钥)将每一行与正确的租户结构相关联,如本文所示。
我使用codeigniter作为我的php框架,并使用ionauth进行身份验证。为租户选择数据时,如何避免在数据库上运行的每个select查询中都有额外的“where tenant\u id=user\u id”子句。在ionauth上实现组似乎是实现这一点的基本方法,但这会造成它自己的混乱。
有没有办法在全球范围内做到这一点?

b1uwtaje

b1uwtaje1#

每个表需要一个租户id来分隔行。对于select,您可以创建一个嵌入了“where tenant\u id=user\u id”子句的视图。用户id是数据库用户,因此需要为每个租户创建一个数据库帐户。这给出了一个清晰的描述:https://opensource.io/2017/12/07/mysql-multi-tenant/

相关问题