如何使用 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);
}
我正在开发一个具有多租户架构的应用程序(在 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);
}