हम डेटाबेस स्कीमा माइग्रेट करने के लिए फ्लाईवे का उपयोग कर रहे हैं और हमारे पास पहले से ही 100 से अधिक माइग्रेशन स्क्रिप्ट हैं।फ्लाईवे माइग्रेशन "संपीड़ित" करने का कोई तरीका?
एक बार जब हम एक ही प्रथम संस्करण माइग्रेशन में एकाधिक माइग्रेशन को "squashed" करते हैं, तो यह विकास के दौरान ठीक है, क्योंकि हम स्कीमा को छोड़ते हैं और फिर से बनाते हैं। लेकिन उत्पादन में यह काम नहीं करेगा, क्योंकि फ्लाईवे माइग्रेशन को मान्य करने में सक्षम नहीं होगा।
मुझे इस मामले में क्या करना है, इस बारे में कोई दस्तावेज़ीकरण या सर्वोत्तम अभ्यास नहीं मिला। समस्या यह है कि फ़ाइल मात्रा लगातार बढ़ती है, मैं हर बार हजारों माइग्रेशन फ़ाइलों को नहीं देखना चाहता, अनिवार्य रूप से यदि उत्पादन पहले से ही नवीनतम संस्करण में है। मेरा मतलब है, माइग्रेशन स्क्रिप्ट्स जिनमें संस्करण संस्करण है जो उत्पादन में संस्करण से कम है, हमारे लिए अप्रासंगिक है, यह बहुत ही अच्छा होगा अगर हम उन फ़ाइलों को एक ही माइग्रेशन में स्क्वैश कर सकें।
हम MySQL का उपयोग कर रहे हैं।
हमें इसे कैसे संभालना चाहिए?
इस नहीं करता है मतलब, कि यदि आप डेवलपर्स की एक टीम हैं, तो अन्य सभी डेवलपर्स को टेबल schema_version को भी छोड़ना होगा? –
हां। फ्लाईवे माइग्रेशन स्क्रिप्ट के उस सेट द्वारा "प्रबंधित" प्रत्येक डेटाबेस को एक ही उपचार की आवश्यकता होगी। –
बेसलाइन चलाने पर, फ्लाईवे चेक करेगा कि मौजूदा स्कीमा नई V1__Baseline.sql स्कीमा से मेल खा रही है? यदि मैं V1__Baseline.sql के विरुद्ध मौजूदा स्कीमा को सत्यापित करने के लिए फ्लाईवे नहीं चाहता हूं, तो क्या मैं schema_version तालिका में परिणामी चेकसम के साथ एक पंक्ति बना सकता हूं? – lloiacono