I was wondering, what alternative would you consider if you do have potentially thousands of tenants? I suppose you would then simply have to create the prisma connections based on incoming request?
In a situation where the number of tenants is so big I'd probably avoid a schema-based architecture, and rather go with row-level data separation. That way I'd only need one database connection for one Prisma client.