SaaS多租户切换数据库保存数据时失效

Blade 未结 1 270
arssh
arssh 2023-08-16 10:51

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

1. image.png

2. 因为这张表其他库是没有tenant_id字段的,主库是有tenant_id字段的,这里的功能是需要把其他库的数据推送到主库去,保存时报没有找到tenant_id报错了

1条回答
  •  admin
    admin (楼主)
    2023-08-16 16:16

    非主库并且结构不一样就需要用一个新的service+entity来保存

    作者追问:2023-08-16 16:16

    我是用的新的serivce和entity进行保存的,但还是报错

    回答: 2023-08-16 16:16

    看下entity继承的是什么,如果entity或者继承的类包含tenant_id则依旧会走租户逻辑,如果不带,就不会了。

    作者追问:2023-08-16 16:16

    没有继承任何类,还有一个问题是我有一个接口是访问的同样的方法也没做任何处理(指没有加@TenantIgnore和@NonDS),那一个接口就调这个方法时就能切换数据库,所有我真的很迷茫不知道到底哪里出问题了

    回答: 2023-08-16 16:16

    你这个出问题的是不是异步的方法?另外你说的找不到tenant_id是切换时找不到,还是保存至数据库时找不到。


    作者追问:2023-08-16 16:16

    不是异步的方法,是切换后保存数据到主库时报错找不到tenant_id,我感觉是数据库没切换成功,因为其他子库是没有这个字段的

    回答: 2023-08-16 16:16

    那你需要写一个可以重现的最简单的demo(就用notice模块作为范例来写demo),打包发给我们,并标注好重现步骤,我们来安排调试

    因为光看你现在的描述,无法判断到底是什么原因

    0 讨论(0)
提交回复