Typescript 共享数据库中租户隔离的朴素实现

Typescript 共享数据库中租户隔离的朴素实现,typescript,nestjs,multi-tenant,typeorm,saas,Typescript,Nestjs,Multi Tenant,Typeorm,Saas,我正在尝试为实现租户隔离的SaaS产品构建MVP。我希望在使用一个数据库和一个模式(仅通过应用程序逻辑隔离)时实现这一点。实现这一点出人意料地困难!只是希望我不会忘记在每个查询中添加必要的,其中条件太容易出错。我尝试了一些方法,最终得到了一个非常简单的实现: 从请求中提取带有中间件的Tennanti并使其全局可用 使用简单的typeform监听器后加载前插入等执行附加检查 @Entity() 导出类用户扩展BaseEntity{ @PrimaryGeneratedColumn(“uuid”)

我正在尝试为实现租户隔离的SaaS产品构建MVP。我希望在使用一个数据库和一个模式(仅通过应用程序逻辑隔离)时实现这一点。实现这一点出人意料地困难!只是希望我不会忘记在每个查询中添加必要的
,其中
条件太容易出错。我尝试了一些方法,最终得到了一个非常简单的实现:

  • 从请求中提取带有中间件的Tennanti并使其全局可用
  • 使用简单的typeform监听器
    后加载
    前插入
    等执行附加检查
@Entity()
导出类用户扩展BaseEntity{
@PrimaryGeneratedColumn(“uuid”)
uuid:string
@列({default:'tenant-1'})
tenantId:字符串;
@后加载()
checkTenant(){

if(this.tenantId!==getCurrentTenant()){很遗憾,我没有答案给你,但我想在未来的项目中实现多租户。我发现作为一个成熟的SaaS初学者,它使用NestJS。这是一个复杂的应用程序,但它可能会帮助你。谢谢。是的,终极后端使用MongoDB使用多db方法。这不是我想要的方法。@Xen_mar Hi,你找到你的问题的答案了吗?如果你有这方面的信息,介意分享吗?谢谢。不,对不起。我从NestJS切换到Django实现了它。不幸的是,我没有答案,但我想在未来的项目中实现多租户。我发现它是一个使用NestJS的成熟SaaS初学者。它是一个复杂的应用程序,但它可能会帮助你。谢谢。是的,ultimate backend使用MongoDB使用多数据库方法。这不是我想要的方法。@Xen_mar Hi,你找到你问题的答案了吗?如果你得到这方面的一些信息,介意分享吗?谢谢。不,对不起。我从NestJS切换到Django实现了它。