如何使用 Typeorm 在 NestJS 中设置多租户连接

How to setup a multi-tenant connection in NestJS with Typeorm

我正在开发一个具有多租户架构的应用程序(在 MySQL 上),我们有一个数据库,其中包含多个由一些表组成的架构。有没有办法创建与 TypeOrm 的简单连接,我可以在其中连接到数据库中的任何可用模式? 该文档并没有真正谈论多租户,所以也许不可能用简单的方法来做到这一点?

通过在数据库选项上使用模式名称创建连接来设法使其工作,然后我们可以为以后的请求重用此连接:

        const connectionName = `${db_schema_name}_connection`;
        try{
            return getConnection(connectionName);
        } catch(e){
            const options       = Object.assign({} , this.configService.get('DB_INFOS'));            
            options.name        = connectionName;
            options.database    = `yourdb_${db_schema_name}`;
        
            return await createConnection(options);
        }