sql >> Database teknologi >  >> RDS >> PostgreSQL

TypeORM:Indstil dynamisk databaseskema for EntityManager (eller repositories) ved kørsel?

For at besvare mit eget spørgsmål:

I øjeblikket er der ingen måde at instansiere TypeORM-lagre med forskellige skemaer under kørsel uden at skabe nye forbindelser.

Så de eneste to muligheder, som en udvikler står tilbage med for skemabaseret multilejemål er:

  1. Opsætning af nye forbindelser for at oprette forbindelse til forskellige skemaer inden for den samme database under kørsel. For eksempel. se NestJS Request Scoped Multitenancy for Multiple Databases . Man bør dog bestemt stræbe efter at genbruge forbindelser og og være opmærksom på forbindelsesgrænser .
  2. Opgivelse af ideen om at arbejde med RepositoryApi og vende tilbage til at bruge createQueryBuilder (eller udfører SQL-forespørgsler via query() ).

For yderligere forskning er her nogle TypeORM GitHub-problemer, der sporer ideen om at ændre skemaet for en eksisterende forbindelse eller repository under kørsel (svarende til det, der anmodes om i OP):

P.S. Hvis TypeORM beslutter sig for at støtte ideen diskuteret i OP, vil jeg forsøge at opdatere dette svar.



  1. forespørgsel for at vise fire tilfældige data fra databasen

  2. Python MySQL-parameteriseret forespørgsel er i konflikt med % jokertegn i LIKE-sætningen

  3. Forøgelse af en streng med én i PHP

  4. Spring Boot-applikation. Batch virker ikke i metoden JpaRepository.saveAll