से प्राप्त करना मैं जेनरेट माइग्रेशन फ़ाइल द्वारा बनाए गए SQL कथन प्राप्त करने का एक तरीका शोध कर रहा हूं। ये Doctrine_Migration_Base बढ़ाते हैं। अनिवार्य रूप से मैं एसक्यूएल को स्क्रिप्ट स्क्रिप्ट के रूप में सहेजना चाहता हूं।एसक्यूएल को एक डॉक्टर माइग्रेशन
निष्पादन पथ मुझे डॉक्टरेट_एक्सपोर्ट पर ले जाता है जिसमें SQL कथन बनाने और उन्हें निष्पादित करने के तरीके हैं। मुझे सिर्फ उनसे पूछने का कोई रास्ता नहीं मिला है। Doctrine_Export में पाए गए निर्यात विधियां केवल Doctrine_Record मॉडल पर संचालित होती हैं, न कि माइग्रेशन स्क्रिप्ट्स।
कमांड लाइन './doctrine विस्थापित संस्करण #' पथ से चला जाता है:
- Doctrine_Cli :: रन (cmd)
- Doctrine_Task_Migrate :: setArguments (args)
- Doctrine_Task_Migrate :: निष्पादित()
- Doctrine_Migration :: (करने के लिए)
- Doctrine_Migration_Process :: Doctrine_Export विस्थापित :: विभिन्न ड्रॉप बनाते हैं, तो, एसक्यूएल सम साथ तरीकों को बदल valents।
क्या किसी ने इससे पहले इसका सामना किया है? मैं वास्तव में सिद्धांत आधार फ़ाइलों को बदलना नहीं चाहूंगा। कोई भी मदद बहुत ही सराहनीय होगी।
दिलचस्प। मैं उसमें देखूंगा और आपसे वापस आऊंगा। मुझे लगता है कि मुझे बेस सिद्धांत फ़ाइलों को संशोधित करना पड़ सकता है क्योंकि उनके सीएलआई कार्यान्वयन की कमी है। एक dryRun विकल्प उपलब्ध है कि Doctrine_Task_Migrate की जांच भी परेशान नहीं करता है। असल में 2 विकल्प जो मैं जा रहा हूं वे हैं: dryRun विकल्प जोड़ें, विवरणों को कैप्चर करने के लिए dryRun और SQL Trace के साथ माइग्रेशन चलाएं। या dryRun विकल्प के साथ, SQL कथन को आउटपुट करने के लिए एक और विकल्प जोड़ें, इसके लिए एक संशोधित Doctrine_Migration_Process फ़ाइल की आवश्यकता होगी, शायद मैं इसे Doctrine_Migration_GetSQL कहूंगा। –
मान्य लगता है। निश्चित रूप से एसक्यूएल ट्रेस आदेश प्राप्त करने का एक अच्छा तरीका है। –