sql >> Databasteknik >  >> RDS >> PostgreSQL

TypeORM:Ange dynamiskt databasschema för EntityManager (eller arkiv) vid körning?

För att svara på min egen fråga:

För tillfället finns det inget sätt att instansiera TypeORM-arkiv a> med olika scheman under körning utan att skapa nya anslutningar.

Så de enda två alternativen som en utvecklare har kvar för schemabaserad flerhyra är:

  1. Konfigurera nya anslutningar för att ansluta till olika scheman inom samma db vid körning. T.ex. se NestJS Request Scoped Multitenancy for Multiple Databases . Däremot bör man definitivt sträva efter att återanvända anslutningar och och vara medveten om anslutningsgränser .
  2. Att överge tanken på att arbeta med RepositoryApi och återgå till att använda createQueryBuilder (eller exekvera SQL-frågor via query() ).

För ytterligare forskning, här är några TypeORM GitHub-problem som spårar idén om att ändra schemat för en befintlig anslutning eller förråd vid körning (liknande vad som efterfrågas i OP):

P.S. Om TypeORM bestämmer sig för att stödja idén som diskuteras i OP kommer jag att försöka uppdatera det här svaret.



  1. php problem med flera databaser

  2. SQL Server SP - Pass parameter för IN array lista?

  3. MySQL - räkna totalt antal rader i php

  4. Aggregerad funktion i MySQL - lista (som LISTAGG i Oracle)