nodejs做SaaS系统,用TypeORM可以实现全局自动添加租户id查询条件吗?
发布于 3 年前 作者 tuohuang 6525 次浏览 来自 问答

打算用nodejs做saas系统,目前框架使用的是midwayjs,同时用到了TypeORM,请问TypeORM可以实现全局自动添加租户id查询条件吗?看TypeORM文档有个实体监听器和订阅者,是否可以通过AfterLoad、BeforeInsert等监听器来处理实现?可以的话需要怎么写呢? 者有没有其他的好用的方法来实现?

7 回复

这个意义不大,加自增id是正常的,但加租户id未见过。另外不是每个表都需要租户id

@i5ting 大部分表都是要加租户id的,少数表不需要加,想要自动处理的时候排除掉不需要加租户id的,其他的都自动加上租户id条件

MikroOrm 有你想要的功能: https://mikro-orm.io/docs/filters/ TypeOrm 没打算加这个功能:https://github.com/typeorm/typeorm/issues/1601

@xcfox 谢谢你的回答,我研究下,之前我在一个群里面看到有人说他们是通过 体监听器和订阅者来做的处理,后来没有联系上他,TypeORM文档对这块的说明也比较少,还是自己太菜了。

可以看看有没类似的项目代码是这样做的: https://codexp.io/npm/1/@midwayjs/decorator,typeorm

@WooodHead 好滴,谢谢

@tuohuang 可以参考CabloyJS的多租户设计:首先,系统通过子域名区别多租户,并将租户Id存入ctx上下文中;然后,model组件自动取ctx中的租户Id,并自动注入到sql中。 https://cabloy.com/zh-cn/articles/multi-instance.html

回到顶部