V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
phpxiaowangzi
V2EX  ›  程序员

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

  •  
  •   phpxiaowangzi · Dec 17, 2020 · 3189 views
    This topic created in 1965 days ago, the information mentioned may be changed or developed.

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

    7 replies    2020-12-18 11:29:28 +08:00
    shuang
        1
    shuang  
       Dec 17, 2020
    只需要一张表即可,每张表里都有个字段表示是哪个商户。
    多商户的系统不要一个商户一张表,大商户小商户的数据量也不均匀,接入的商户多了表的数量会爆炸的。
    opengps
        2
    opengps  
       Dec 17, 2020
    几乎所有表都增加一个商户 id 字段,几乎所有查询都强制带上 where 商户 id='xxxx'
    toesbieya
        3
    toesbieya  
       Dec 17, 2020
    每个商户一个库
    Kirsk
        5
    Kirsk  
       Dec 17, 2020 via Android
    用户授权入口(单点登录)+网关+服务 按服务切分数据 模块化 俗称 微服务
    zh5e
        6
    zh5e  
       Dec 18, 2020
    @toesbieya 分库能数据隔离,但是运维成本增加,怎么选择 lol
    mitsuizzz
        7
    mitsuizzz  
       Dec 18, 2020
    直接 mybatis-plus 写一个自己的租户拦截器,就大功告成了, 每个商户 不同租户 ,看文档就行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4017 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 04:19 · PVG 12:19 · LAX 21:19 · JFK 00:19
    ♥ Do have faith in what you're doing.