我正在使用Prisma Server和Yoga GraphQL为多租户数据库设置后端环境
要管理多租户,我们选择使用Prisma Server的“ env”(dev / stage / prod)进行处理。
没关系,Prisma服务器并不难管理,现在每个租户都有一个端点,例如:http://localhost:4466/service/tenant/
之后,使用graphql get-schema从Prisma中轻松提取* .graphql。
但是,现在的困难是:如何为我需要的服务和租户设置GraphQL服务器?
基于不同的示例/ tuto / docs / ...,我找不到在index.js中设置GraphQL Server的方式,说:侦听多个URI,并且每个URI都连接一个棱镜服务器。
示例,我需要:
GraphQL Server端点
http://localhost:4000/service-1/client-1/
只能是请求http://localhost:4466/service-1/client-1/
并且对于
client-2
(第二租户)http://localhost:4000/service-1/client-2/
只能请求http://localhost:4466/service-1/client-2/
GraphQL Server似乎每个端口只能启动一次(此处为4000)
[EDIT]这是说明https://github.com/mouchimotte/prisma-yoga-multitenancy
的代码答案 0 :(得分:0)
正如@rma在评论中所说,您可以使用prisma-multi-tenant npm软件包来构建多租户应用程序。
您可以阅读这篇文章,其中介绍了如何使其工作:https://medium.zenika.com/building-a-multi-tenant-application-with-prisma-11bf890304d6