CNode

nodejs做SaaS系统,用TypeORM可以实现全局自动添加租户id查询条件吗?

问答
Ttuohuang发布于5 年前最后回复5 年前8 回复8556 浏览0 收藏

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

查看回复

回复 (7)

I
i5ting#1·5 年前

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

T
tuohuang#2·5 年前
引用 i5ting这个意义不大,加自增id是正常的,但加租户id未见过。另外不是每个表都需要租户id

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

X
xcfox#3·5 年前

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

T
tuohuang#4·5 年前
引用 xcfoxMikroOrm 有你想要的功能: https://mikro orm.io/docs/filters/ TypeOrm 没打算加这个功能:https://github.com/typeorm...

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

W
WooodHead#5·5 年前

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

Z
zhennann#7·5 年前

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

参与回复
登录后即可参与回复。登录