मेरे अपने प्रश्न का उत्तर देने के लिए:
फिलहाल TypeORM रिपॉजिटरी नए कनेक्शन बनाए बिना रनटाइम पर अलग-अलग स्कीमा के साथ।
तो स्कीमा-आधारित बहु किरायेदारी के लिए डेवलपर के पास केवल दो विकल्प बचे हैं:
- रनटाइम पर एक ही डीबी के भीतर विभिन्न स्कीमा के साथ जुड़ने के लिए नए कनेक्शन स्थापित करना। उदा. देखें NestJS रिक्वेस्ट स्कोप्ड मल्टीटेनेंसी फॉर मल्टीपल डेटाबेस . हालांकि, किसी को निश्चित रूप से कनेक्शन के पुन:उपयोग के लिए प्रयास करना चाहिए और कनेक्शन सीमा ।
- RepositoryApiके साथ काम करने के विचार को छोड़ना ए> और
createQueryBuilder
. का उपयोग करके वापस लौट रहे हैं (याquery()
. के माध्यम से SQL क्वेरी निष्पादित करना )।
आगे के शोध के लिए, यहां कुछ टाइपओआरएम गिटहब मुद्दे हैं जो रनटाइम पर मौजूदा कनेक्शन या रिपॉजिटरी के लिए स्कीमा बदलने के विचार को ट्रैक करते हैं (ओपी में अनुरोध के समान):
- स्कीमा का उपयोग करते हुए बहु-किरायेदार वास्तुकला। #4786
कुछ इस तरह का प्रस्ताव करता है
this.photoRepository.useSchema('customer1').find()
- डेटाबेस स्कीमा को संभालना #3067
कुछ इस तरह का प्रस्ताव करता है
getConnection().changeDefaultSchema('myschema')
- स्कीमा #4473 का रन-टाइम परिवर्तन
- प्रति कॉल #2439 पर postgresql स्कीमा सेट करने की क्षमता जोड़ें
पी.एस. यदि टाइपओआरएम ओपी में चर्चा किए गए विचार का समर्थन करने का निर्णय लेता है, तो मैं इस उत्तर को अपडेट करने का प्रयास करूंगा।