PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

TypeORM:Definir esquema de banco de dados dinamicamente para EntityManager (ou repositórios) em tempo de execução?


Para responder minha própria pergunta:

No momento, não há como instanciar repositórios TypeORM com esquemas diferentes em tempo de execução sem criar novas conexões.

Portanto, as únicas duas opções que restam a um desenvolvedor para multilocação baseada em esquema são:
  1. Configurando novas conexões para conectar-se a diferentes esquemas no mesmo banco de dados em tempo de execução. Por exemplo. consulte Multilocação com escopo de solicitação NestJS para vários bancos de dados . No entanto, deve-se definitivamente se esforçar para reutilizar conexões e estar ciente de limites de conexão .
  2. Abandonar a ideia de trabalhar com a RepositoryApi e voltando a usar createQueryBuilder (ou executando consultas SQL via query() ).

Para mais pesquisas, aqui estão alguns problemas do TypeORM GitHub que rastreiam a ideia de alterar o esquema para conexões ou repositórios existentes em tempo de execução (semelhante ao que é solicitado no OP):

P.S. Se o TypeORM decidir apoiar a ideia discutida no OP, tentarei atualizar esta resposta.