2010-06-28 17 views
5

में grails datasource buildb प्रॉपर्टी कैसे प्राप्त करें मैं GraS DataSource.groovy फ़ाइल में निर्मित बूटबैक प्रॉपर्टी पर अपना बूटस्ट्रैप निर्भर करना चाहता हूं। जब सेटिंग 'बना' होती है, तो सेटिंग 'अपडेट' होती है, तो कोई भी नया मास्टर डेटा उत्पन्न नहीं होना चाहिए।बूटस्ट्रैप

मुझे GrailsDataSource in the Grails API मिला है जिसमें एक विधि भी है, क्रेट डीडी, लेकिन मुझे नहीं पता कि संबंधित बूटस्ट्रैप पर्यावरण के लिए बूटस्ट्रैप से इसे कैसे पहुंचाया जाए।

उत्तर

3

सबसे आसान तरीका शायद है सिर्फ, config से dbCreate के मान की जाँच इसलिए की तरह करने के लिए:

import org.codehaus.groovy.grails.commons.ApplicationHolder 

if (ApplicationHolder.application.config.dataSource.dbCreate == "create") { 
    ...do create stuff... 
} else if (ApplicationHolder.application.config.dataSource.dbCreate == "update") { 
    ...do update stuff... 
} 
+0

बिल्कुल जो मैं खोज रहा हूं, धन्यवाद! –

9

अप-टू-डेट dbCreate संपत्ति प्राप्त करने के लिए जिस तरह से इंजेक्शन है BootStrap.groovy करने के लिए 'grailsApplication' :

def grailsApplication 

if(grailsApplication.config.dataSource.dbCreate == 'create'){ 
    ... 
} 

एप्लिकेशनहोल्डर अब बहिष्कृत है और मैं इसे काम नहीं कर सका।

उम्मीद है कि यह किसी की मदद करेगा।

0

एटाइलर से उत्तर बहिष्कृत किया गया है। कृपया How to access Grails configuration in Grails 2.0? देखें।

यह भी canotto90 उत्तर में ध्यान दिया जाना चाहिए कि इंजेक्शन def grailsApplication बूटस्ट्रैप के इनिट क्लोजर के बाहर दिखाई देना चाहिए। दूसरी तरफ आप एनपीई प्राप्त करते हैं।

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