框架升级后所有查询都不会带上租户ID查询了

Blade 未结 3 1543

一、该问题的重现步骤是什么?

1. 框架从2.5.0升级到2.7.0

2. 我们的前端框架是自己重写的,没有用Saber,但是发现所有查询都不会自动带上租户ID了

3.


二、你期待的结果是什么?实际看到的又是什么?

希望除了特殊设置,所有查询可以自己带上租户ID。自己可以通过什么方式来定位,查询时自动拼接的逻辑是在哪个类?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

目前使用BladeX 2.7.0.RELEASE,部署在CentOS上


四、请提供详细的错误堆栈信息,这很重要。

无任何异常


五、若有更多详细信息,请在下面提供。

3条回答
  • 2021-03-11 15:18

    看看租户插件配了吗?实在不行改一下sql拦截器

    0 讨论(0)
  • 2021-03-11 15:32

    租户插件已经配置,配置如下:

    #多租户配置
    tenant:
    #多租户增强
    enhance: true
    #多租户授权保护
    license: false
    #动态数据源功能
    dynamic-datasource: false
    #动态数据源全局扫描
    dynamic-global: false
    #多租户字段名
    column: tenant_id
    #如下租户表的租户ID根据业务实现自己维护
    exclude-tables:
    - ai_alarm_rule_info
    - ai_alarm_rule_ext
    - ai_alarm_info
    - blade_oss
    - ai_public_event_info
    - ai_public_event_kpi
    - ai_wechat_user
    - ai_event_medium

    2.5.0也是如此配置但是现在都没办法用了。SQL拦截器是在哪个类?

    0 讨论(0)
  • 2021-03-11 16:29

    2.5.0之前的版本是这样配置的,用tables来配置哪些表需要多租户功能

    # 租户表维护
    blade:
      tenant:
        column: tenant_id
        tables:
          - tb_news      
          - tb_goods

    之后的版本用户反馈每个表都要配置操作较繁琐,所以我们改变了逻辑,只要实体类有tenantId字段或者继承了TenantEntity,无需配置,就会自动开启多租户插件。如果有些表不需要多租户,可以单独配置排除

    # 租户表维护
    blade:
      tenant:
        column: tenant_id
        exclude-tables:
          - tb_news      
          - tb_goods

    后续版本与之前版本的逻辑有转变,这一块需要好好排查一下。或者重新看一下操作手册最新版本的saas章节的说明

    作者追问:2021-03-11 17:20

    我现在也确实是这们配置的,我们的类是VO继承Entity类,也都继承了TenantEntity,但是还是不对。

    回答: 2021-03-11 18:59

    那就要看你们是否更新全了,核心逻辑在blade-starter-tenant这个模块。正好可以借着这个机会理顺租户模块的逻辑。

    你可以先下载原版的BladeX然后运行接口跟着走断点来看逻辑

    0 讨论(0)
提交回复