V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
phpxiaowangzi
V2EX  ›  程序员

想问下,对于多商户的后台系统的数据库和结构如何设计?

  •  
  •   phpxiaowangzi · 2020-12-17 21:36:26 +08:00 · 2440 次点击
    这是一个创建于 1435 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,最近公司有一个多商户的后台系统,大概有将近 1000 个商户,我现在的思路是因为每个商户可能都需要一个独立的权限管理功能,所以开通一个商户我就创建涉及到权限管理的数据表 privilege_node_abc,privilege_role_abc,privilege_user_abc,然后每个商户包括商户创建的人员做一个关联表,可以找到对应结尾 abc 的属于自己商户的表去进行操作,然后登陆的时候去这个关联表找到是否有信息,有就操作关联的表,不知道各位大佬有没有更好的办法,我总感觉这个设计有问题,求大佬们指教。

    7 条回复    2020-12-18 11:29:28 +08:00
    shuang
        1
    shuang  
       2020-12-17 21:47:39 +08:00
    只需要一张表即可,每张表里都有个字段表示是哪个商户。
    多商户的系统不要一个商户一张表,大商户小商户的数据量也不均匀,接入的商户多了表的数量会爆炸的。
    opengps
        2
    opengps  
       2020-12-17 21:49:21 +08:00
    几乎所有表都增加一个商户 id 字段,几乎所有查询都强制带上 where 商户 id='xxxx'
    toesbieya
        3
    toesbieya  
       2020-12-17 22:07:07 +08:00
    每个商户一个库
    xuanbg
        4
    xuanbg  
       2020-12-17 22:50:08 +08:00
    Kirsk
        5
    Kirsk  
       2020-12-17 23:55:41 +08:00 via Android
    用户授权入口(单点登录)+网关+服务 按服务切分数据 模块化 俗称 微服务
    zh5e
        6
    zh5e  
       2020-12-18 09:12:57 +08:00
    @toesbieya 分库能数据隔离,但是运维成本增加,怎么选择 lol
    mitsuizzz
        7
    mitsuizzz  
       2020-12-18 11:29:28 +08:00
    直接 mybatis-plus 写一个自己的租户拦截器,就大功告成了, 每个商户 不同租户 ,看文档就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2854 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:22 · PVG 19:22 · LAX 03:22 · JFK 06:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.