sql >> Database >  >> RDS >> PostgreSQL

TypeORM:Dynamisch ingesteld databaseschema voor EntityManager (of repositories) tijdens runtime?

Om mijn eigen vraag te beantwoorden:

Op dit moment is er geen manier om TypeORM-repositories met verschillende schema's tijdens runtime zonder nieuwe verbindingen te maken.

Dus de enige twee opties die een ontwikkelaar over heeft voor op schema's gebaseerde multi-tenancy zijn:

  1. Nieuwe verbindingen instellen om tijdens runtime verbinding te maken met verschillende schema's binnen dezelfde db. bijv. zie NestJS Request Scoped Multitenancy voor meerdere databases . Men moet echter zeker streven naar hergebruik van verbindingen en zich bewust zijn van verbindingslimieten .
  2. Het idee van het werken met de RepositoryApi
  3. een> en terugkeren naar het gebruik van createQueryBuilder (of het uitvoeren van SQL-query's via query() ).

Voor verder onderzoek zijn hier enkele TypeORM GitHub-problemen die het idee volgen om het schema voor bestaande verbindingen of repositories tijdens runtime te wijzigen (vergelijkbaar met wat wordt gevraagd in de OP):

PS Als TypeORM besluit het idee te ondersteunen dat in de OP wordt besproken, zal ik proberen dit antwoord bij te werken.



  1. Hoe tel je alle rijen bij gebruik van SELECT met LIMIT in MySQL-query?

  2. Afbeeldingen ophalen uit de MySQL-database en weergeven in een html-tag

  3. sql server subquery met een door komma's gescheiden resultatenset

  4. Kan object van het type PDOStatement niet gebruiken als array