3

我正在使用 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

4

2 回答 2

0

如果您希望使用共享数据库策略,即一个带有租户 ID 列的数据库,您可以使用此包: https ://www.npmjs.com/package/node-express-multitenant

于 2022-02-03T20:17:57.277 回答
0

正如@rma 在评论中所说,您可以使用prisma-multi-tenant npm 包来构建多租户应用程序。

您可以阅读这篇解释如何使其工作的文章:https ://medium.zenika.com/building-a-multi-tenant-application-with-prisma-11bf890304d6

于 2019-01-16T15:27:38.177 回答