【问题标题】:Multitenant Saas built in yii2yii2内置多租户SaaS
【发布时间】:2017-10-12 16:58:46
【问题描述】:

我正在 yii2 中开发多租户 LMS。所有租户都将拥有各自的用户帐户。但是要登录系统,这些用户也应该存在于主数据库用户表中。所以我需要在两个数据库中复制用户帐户。

【问题讨论】:

    标签: yii2 multi-tenant saas


    【解决方案1】:

    您可以简单地为用户创建一个公用表,而不是复制用户表 .. 并管理对公用数据库的访问,重新定义 tableName() 函数..

      class MyUserClass  extends \yii\db\ActiveRecord
      {
          /**
           * @inheritdoc
           */
          public static function tableName()
          {
    
              return 'common_database.' 'user_table';
          }
    

    ....

      class MyTenancyModel  extends \yii\db\ActiveRecord
      {
          /**
           * @inheritdoc
           */
          public static function tableName()
          {
    
              return  'my_tenancy_table';
          }
    

    【讨论】:

    • 感谢您的建议。我理解你所说的概念。但是这里的 MyTenanceModel 有什么用呢?
    • 对于 MyTenancyModel 我的意思是在多租户环境中管理的每个模型 .. 为您的多租户应用程序使用的每个表/模型起别名
    • 好的。谢谢。一定会试试这个。
    猜你喜欢
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2021-07-10
    相关资源
    最近更新 更多