2015-02-18 15 views
9

का उपयोग करते समय ओवरराइटिंग पैरामीटर.आईएमएल रखता है मेरे पास मेरे पैरामीटर में कुछ कस्टम प्रविष्टियां हैं। प्रत्येक बार, जब भी मैं एक संगीतकार अद्यतन चलाता हूं, तो यह गुम प्रविष्टियों को जोड़ना चाहता है, जो मेरी कस्टम प्रविष्टियों को और भी खराब करता है। मैं इसे कैसे रोक सकता हूँ?संगीतकार अद्यतन कस्टम मान

उदा। संगीतकार अद्यतन से पहले

#parameters.yml 
# Env = GLOBAL 
parameters: 
# DB settings - GLOBAL 
database_driver: pdo_mysql 
database_host: 127.0.0.1 
database_port: 3306 

#mailer settings 
mailer_to: [email protected] 
mailer_from: [email protected] 
mailer_transport: smtp 
mailer_subject: ":-| Something is broken!" 

# Framework use - GLOBAL 
locale: en 

#parameters.yml 
# This file is auto-generated during the composer install 
parameters: 
database_driver: pdo_mysql 
database_host: 127.0.0.1 
database_port: 3306 
mailer_transport: smtp 
locale: en 
database_name: 
database_user: 
database_password: 
mailer_host: 
mailer_user: 
mailer_password: 
secret: 

के बाद सौभाग्य से मेरी रेपो और मेरे आईडीई के माध्यम से अपने काम की फाइल दो अलग फ़ाइलें हैं और सिंक करने की जरूरत है। जब मैं एक सिंक चलाता हूं, तो मैं कंप्रेसर अपडेट चलाता हूं, मैं पैरामीटर.इएमएल को छोड़कर सभी आईडीई को अपने आईडीई में डाउनलोड करता हूं, जिसे मैं सिर्फ ऑटो बनाया गया था उसे ओवरराइट करने के लिए बैक अप करता हूं।

मैं इस परेशानी को खत्म करना चाहता हूं, क्योंकि मैं अपने डीबी पासवर्ड प्रति/env फ़ाइल पर रखता हूं।

संपादित करें: जब मैं अनियंत्रित वर्रों को डमी मूल्यों के रूप में भरने की कोशिश करता हूं, तो यह भी पीछे हट जाता है।

$ composer update 
Loading composer repositories with package information 
Updating dependencies (including require-dev) 
Generating autoload files 
Updating the "app/config/parameters.yml" file 
Some parameters are missing. Please provide them. 
database_name: null 
database_user: null 
database_password: null 
mailer_host: null 
mailer_user: null 
mailer_password: null 
secret: null 

    [Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException] 
    You have requested a non-existent parameter "mailer_from". 

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception 

    [RuntimeException] 
    An error occurred when executing the "'cache:clear --no-warmup'" command. 

कस्टम परम समस्याएं भी पैदा कर रहा है।

तो अब मैं अपने नए जनरेट फ़ाइल में झांक सकते करने के लिए जाना है, और यह इस

# This file is auto-generated during the composer install 
parameters: 
    database_driver: pdo_mysql 
    database_host: 127.0.0.1 
    database_port: 3306 
    mailer_transport: smtp 
    locale: en 
    database_name: null 
    database_user: null 
    database_password: null 
    mailer_host: null 
    mailer_user: null 
    mailer_password: null 
    secret: null 

तरह लग रहा है लेकिन मैं यह क्या जरूरत है आदर्श पुनः के बाद कहने के लिए इस

/** 
* my custom comment and copyright/legal tamper warning 
*/ 
# Env = GLOBAL 
parameters: 
    # DB settings - GLOBAL 
    database_driver: pdo_mysql 
    database_host: 127.0.0.1 
    database_port: 3306 

    #mailer settings 
    mail_to: [email protected] 
    mail_from: [email protected] 
    mail_transport: smtp 
    mail_subject: ":-| Something is broken!" 

    # Framework use - GLOBAL 
    locale: en 

के बाकी है मेरे पैरामीटर एक और पैरामीटर फ़ाइल पर स्थित हैं, जो कि एनवी लोड के आधार पर गतिशील रूप से शामिल है, और उनमें प्रत्येक पर अलग-अलग डीबी क्रेडिट हैं।

संपादित@AlpineCoder प्रति जवाब: मेरी latests निष्कर्ष क्यों डमी मानों को जोड़ने does not काम

जब मैं अपने parameters.yml में जोड़ना

#dummy values to avoid regeneration 
    database_name: dummyvalue 
    database_user: dummyvalue 
    database_password: dummyvalue 
    mailer_host: dummyvalue 
    mailer_user: dummyvalue 
    mailer_password: dummyvalue 
    secret: dummyvalue 

यह अब मेरे लिए पूछता है इन मानों को भरें, यह बहुत अच्छा है, हालांकि, यह अभी भी फ़ाइल को पुन: उत्पन्न करता है, मेरे सभी कस्टम मानों को हटाता है, मुझे इस

के साथ छोड़ देता है

उत्तर

28

आपके पास दो विकल्प हैं, या तो अपने parameters.yml.dist भरें या आप अपने composer.json फाइल करने के लिए जा सकते हैं और बाद अद्यतन-cmd और में बाद स्थापित-cmd आप देखना चाहिए कुछ तरह

"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 

यदि आप उस पंक्ति को हटाते हैं, तो जब आप संगीतकार चलाते हैं तो आपके पैरामीटर अब नहीं बदले जाएंगे।

यदि आप अन्य लोगों के साथ सहयोग कर रहे हैं, तो अपने पैरामीटर अपडेट कर रहे हैं।डिस्ट शायद जाने का बेहतर तरीका होगा हालांकि यह उन्हें याद दिलाने में मदद करेगा, जब नए लोगों को पेश किया जाता है तो उन्हें नए पैरामीटर भरने की आवश्यकता होती है।

+0

धन्यवाद, वास्तव में वह उत्तर जो मैं ढूंढ रहा था, इसे कैसे अक्षम करें। मैं उन भूल गए थे जहां आदेश से भाग गया था। मैं इस परियोजना पर एकल देव हूँ। यह इस फ़ाइल को छेड़छाड़ करने के लिए अधिक ओवरहेड का कारण बनता है। यह केवल एकमात्र फ़ाइल के बारे में है जिसे मैं स्वचालित नहीं चाहता हूं। इसकी फ़ाइल जिसमें उपयोगकर्ता एनवी जानकारी शामिल है, जैसे उसकी डीबी जानकारी। इसलिए इसे अक्सर नहीं बदला जाना चाहिए, और उपयोगकर्ता को हर समय अपने पीडब्ल्यू को देखने के लिए नहीं जाना चाहिए। हालांकि, मैं देखता हूं कि सहयोग के दौरान लाभ के बारे में आपका क्या मतलब है। धन्यवाद! – blamb

+0

हम्म, यह अजीब लगता है कि मुझे स्टैक पर सबसे ज्यादा देखे जाने वाले प्रश्नों में से एक होने पर पुरस्कार मिलता है, फिर भी वोटों के मुताबिक मेरी कोई भी टिप्पणी मूल्य नहीं है, और मेरा प्रश्न भी निम्नलिखित वोट नहीं दे रहा है। यकीन नहीं है कि इसका क्या अर्थ है .. किसी के पास अच्छे प्रश्नों और टिप्पणियों के लिए यहां कुछ प्यार है? आइए यहां हमारे लिए काम कर रहे इस ढेर को प्राप्त करें :-) – blamb

+2

"अपने 'पैरामीटर को अपडेट करना .yml.dist'" वह उत्तर है जिसे मैं ढूंढ रहा था। यह पहली बात होनी चाहिए। – aalaap

5

यदि आप parameters.yml.dist फ़ाइल में कस्टम पैरामीटर (और एक डिफ़ॉल्ट/डमी मान) जोड़ते हैं, तो आपको parameters.yml फ़ाइल में अपने कस्टम मानों को/ओवरराइट नहीं करना चाहिए।

+0

मैंने इस पोस्ट को बनाने से कुछ मिनट पहले कोशिश की थी। यह काम नहीं किया। बीमार बाद में व्याख्या करने की कोशिश करें जब मैं इसे फिर से बना सकता हूं। – blamb

+0

ठीक है मेरे संपादन देखें, क्योंकि यह मेरे लिए क्यों काम नहीं करता – blamb

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