多租户数据库隔离方式数据同步问题

Blade 未结 2 675
bao2007happy
bao2007happy 2022-10-09 14:57

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

1、多租户采用数据库隔离方式,一个租户一个数据库,超级管理员创建租户相关配置,基础数据需要手动迁移到租户数据库吗,有没有迁移的方案
2、如果后续上新功能追加菜单,怎么同步数据,需要每个租户隔离的数据库手动维护菜单数据吗


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


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


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


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

2条回答
  •  admin
    admin (楼主)
    2022-10-09 22:57

    我们采用的方案已经把这个考虑进去了,基础数据全部用的master库,只有租户的业务库才会进行数据库隔离。否则每创建一个租户,就要创建一整套完整的基础数据库,那后续同步起来会非常麻烦的。

    所有的菜单、权限数据都是在master库进行维护的,所以这个不用再去操心了。如果你们要每个数据库都全部创建一份,就需要自行处理了,用同步工具或者其他的脚本命令都行,但是不推荐这么做。

    作者追问:2022-10-09 22:57

    你好,如果基础数据全部用的master库,我采用的单体版,不采用微服务的访问方式,业务模块涉及基础模块的数据,需要调用基础模块的service,业务controller类已经切换到了租户数据库,基础数据的service层没法切换到master库访问数据吧,这个问题能解决吗

    作者追问:2022-10-09 22:57

    你好,我这边看租户创建的逻辑,有些操作是初始化的时候进行的。即使目前采用基础数据共用master库,后续是不是新增菜单之后,租户管理员目前也无法看到新增菜单,还需要手动处理关联关系和缓存数据才能看到

提交回复