मुझे लगता है कि मूल विचार अच्छा है।
पहले सभी टेबल बनाने और फिर सभी बाधाओं के निर्माण के बारे में अच्छी बात यह है कि किसी भी क्रम में टेबल बनाए जा सकते हैं। जब मैंने यह किया है तो मेरे पास प्रति फ़ाइल एक फ़ाइल थी, जिसे मैंने "टेबल्स" नामक निर्देशिका में रखा था और फिर एक स्क्रिप्ट जो उस निर्देशिका में सभी फ़ाइलों को निष्पादित करती थी। इसी प्रकार मेरे पास बाधा स्क्रिप्ट के लिए एक फ़ोल्डर था (जिसने विदेशी कुंजी और इंडेक्स भी किया), जिसे टेबल के निर्माण के बाद निष्पादित किया गया था।
मैं ट्रिगर्स और संग्रहित प्रक्रियाओं के निर्माण को अलग करता हूं, और इन अंतिम को चलाता हूं। इनके बारे में बिंदु यह है कि उन्हें डेटा को प्रभावित किए बिना डेटाबेस पर चलाया जा सकता है और फिर से चलाया जा सकता है। इसका मतलब है कि आप उन्हें साधारण कोड की तरह ही इलाज कर सकते हैं। आपको प्रत्येक ट्रिगर और प्रक्रिया स्क्रिप्ट की शुरुआत में "मौजूद है ... ड्रॉप" कथन शामिल करना चाहिए, ताकि उन्हें पुनः चलाने योग्य बनाया जा सके।
तो आदेश होगा
- तालिका निर्माण
- अनुक्रमणिका जोड़ें
- बाधाएं जोड़ें
फिर
- ट्रिगर्स जोड़ें
- संग्रहित प्रक्रियाएं जोड़ें
मेरी वर्तमान परियोजना पर हम स्क्रिप्ट चलाने के लिए एमएसबिल्ड का उपयोग कर रहे हैं। कुछ एक्सटेंशन लक्ष्य हैं जिन्हें आप इसके लिए प्राप्त कर सकते हैं जो आपको SQL स्क्रिप्ट को कॉल करने की अनुमति देता है। अतीत में मैंने पर्ले का उपयोग किया है जो ठीक था (और बैच फाइलें ... जो मैं अनुशंसा नहीं करता - बहुत सीमित हैं)।