2012-06-18 6 views
8

मैं जिस नए ऐप पर काम कर रहा हूं वह सिम्फनी 2 का उपयोग कर रहा है। उपयोग करने के लिए कोई डेटाबेस कनेक्शन नहीं है। इसके बजाय यह कई वेब सेवा कॉल पर बना है। Symfony/ऐप्स/config के तहत, मैं सभी database_ * प्रविष्टियों को निकालना चाहेंगे, लेकिन जब मैं ऐसा, मैं एकsymfony2 में डेटाबेस कॉन्फ़िगरेशन को अक्षम करने के लिए कैसे करें

ParameterNotFoundException: You have requested a non-existent parameter "database_driver" 

त्रुटि स्पष्ट है मिलता है। लेकिन मैं ऐप से डेटाबेस कॉन्फ़िगरेशन को कैसे रद्द और हटा सकता हूं?

उत्तर

10

अपने app/config/config*.yml फ़ाइलों से कॉन्फ़िगरेशन और doctrine कॉन्फ़िगरेशन से DoctrineBundle प्रारंभिक निकालें निकालें। यह कंटेनर में सिद्धांत विन्यास रजिस्टर करता है। यही कारण है कि यदि आप पैरामीटर को हटाने का प्रयास करते हैं तो कंटेनर शिकायत करता है (बंडल सक्षम है और उन पैरामीटर को देखता है)।

सिम्फनी के नवीनतम संस्करणों में आपको config_dev.yml में मोनोलॉग कॉन्फ़िगरेशन से सिद्धांत चैनल को हटाने की आवश्यकता होगी (channels: ["doctrine"] लाइन को हटाएं)।

+1

मुझे config_dev.yml – Xosofox

+0

के मोनोलॉग कॉन्फ़िगरेशन में "चैनल: [" सिद्धांत "]" पंक्ति को टिप्पणी/निकालना पड़ा था! उत्तर अपडेट किया गया। –

1

Symfony2 डिफ़ॉल्ट रूप से Doctrine2 के साथ एकीकृत है। जब तक आप एक और एकीकरण बंडल सेट नहीं करते हैं, तब तक आप कॉन्फ़िगरेशन को हटा नहीं सकते।

यदि आप इन फ़ील्ड को खाली छोड़ देते हैं तो यह आसान होगा। डेटाबेस से कनेक्शन केवल तभी किया जाएगा जब एप्लिकेशन को इसकी आवश्यकता हो, जो आपके मामले में नहीं होनी चाहिए।

+0

यह सच नहीं है। आपको सिद्धांत का उपयोग करने की आवश्यकता नहीं है और इसे अक्षम करना संभव है। –

+0

आप सही हैं, लेकिन फिर भी मैं ऐसा करने की अनुशंसा नहीं करूंगा। :) –

+1

वह क्यों है? सिद्धांत को अक्षम करने में कोई हानि नहीं है। यदि आप एनोटेशन का उपयोग करते हैं तो आपको सिद्धांत-सामान्य रखना होगा, लेकिन यह डबल/ओआरएम जैसा नहीं है। –

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