2015-09-03 7 views
5

मुझे एकाधिक डेटाबेस (एक प्रति किरायेदार) के साथ Grails Multitenancy के बारे में कोई अद्यतन संसाधन/गाइड, प्लगइन या उदाहरण नहीं मिल रहा है। मैं वर्तमान में https://grails.org/plugin/multi-tenant-single-db और पुराने https://grails.org/plugin/multi-tenant-core से अटक गया हूं।एकाधिक डेटाबेस के साथ Grails बहु-किरायेदारी

डेटाबेस स्विचिंग कैसे करें जो लॉग-इन उपयोगकर्ता पर निर्भर करता है?

+1

बहुआयामी प्लगइन्स पुरानी हैं और हाइबरनेट 3 का उपयोग करें। मेरे पास एक एप्लीकेशन है जो एकल डीबी प्लगइन के आधार पर grails 2.3 पर है। डीबी प्रति किरायेदार प्लगइन और भी पुराना है। हाइबरनेट 4 हालांकि प्रति किरायेदार डीबी और प्रति किरायेदार आधारित बहुतायत के स्कीमा के लिए समर्थन में बनाया गया है। आप इसे पूरा करने के लिए गोरम कॉल को रोक सकते हैं और एएसटी ट्रांसफॉर्म का उपयोग कर सकते हैं। लेकिन यह एक समय लेने वाली नौकरी है। आपको हाइबरनेट डॉक्स से गुजरना होगा। –

+0

@EjazAhmed धन्यवाद! शायद हाइबरनेट 4 दृष्टिकोण का प्रयास करेंगे। – renz

+0

@renz क्या आपको इसके लिए एक समाधान समाधान मिला है? – lifeisfoo

उत्तर

3

Grails बहुत सारी हाइबरनेट सामग्री को बाहर निकाल देता है ताकि गोरम और हाइबरनेट के बीच एक प्रतिबाधा विसंगति हो। ऐसी एक समस्या किरायेदार के आधार पर कई डेटा स्रोतों को लोड कर रही है। यदि आप प्रति डीबी रणनीति किरायेदार जाते हैं, तो hard battle के लिए तैयार रहें। जटिलता के अलावा, इस रणनीति में डीबी रखरखाव काफी महंगा है क्योंकि आगे बढ़ने का एक लंबा सफर तय है। अधिकांश आधुनिक अनुप्रयोग एकल डीबी सिंगल स्कीमा दृष्टिकोण का उपयोग करते हैं और मैंने my plugin में इस दृष्टिकोण का भी उपयोग किया है। वर्तमान में यह प्लगइन वसंत सुरक्षा का उपयोग कर किरायेदार को हल करता है। इस दृष्टिकोण का कारण वह एप्लिकेशन था जिस पर मैं काम कर रहा था जिस पर एक डोमेन से सेवा करने के लिए एक सास ऐप था। यदि आपको एकाधिक डोमेन से सेवा करना है, तो इस प्लगइन में मामूली संशोधन आवश्यक है।

grails3 पर माइग्रेशन के संबंध में, इसे मार्च 2015 में जारी किया गया था और एक वर्ष की अवधि में, यह विभिन्न सुधारों और बग फिक्स के माध्यम से चला गया है। यह भरोसा करने के लिए पर्याप्त स्थिर है और इसके अलावा इसमें पहले से ही आवश्यक सभी आवश्यक प्लगइन्स हैं। यदि आप एक नया आवेदन बना रहे हैं, तो आपको grails3 तरीके से जाना होगा। यदि आपके पास कोई मौजूदा एप्लिकेशन है, तो आप grails3 पर माइग्रेट करने पर विचार कर सकते हैं।

संबंधित मुद्दे