我正在使用 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 都连接了一个 prisma 服务器。
例如,我需要:
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)
[编辑] 这里有一个代码来说明https://github.com/mouchimotte/prisma-yoga-multitenancy