2009-12-15 18 views
9

डीबी/स्कीमा.आरबी की सामग्री के साथ डीबी/माइग्रेट/* को प्रतिस्थापित करना संभव है, ताकि आपके पास केवल एक माइग्रेशन चरण हो।क्या मुझे रेल माइग्रेशन फ़्लैट करना चाहिए?

क्या आप में से कोई भी ऐसा करता है? क्यूं कर?

उत्तर

5

आप ऐसा क्यों करना चाहते हैं? यदि आप सभी माइग्रेशन नहीं करना चाहते हैं तो आप rake db:schema:load चला सकते हैं। माइग्रेशन का उपयोग नहीं किया जाता है (केवल) एक नया डेटाबेस प्रारंभ करने के लिए, लेकिन इसे दूसरे संस्करण में माइग्रेट करने के लिए।

+6

क्योंकि ऐसे समय होते हैं जहां पुरानी माइग्रेशन और कोड परिवर्तन अब संगत नहीं होते हैं। फिर आप बूढ़े लोगों को हैक करने वाले स्क्रैच w/o से सभी माइग्रेशन नहीं चला सकते हैं। – Otto

1

आप रेक डीबी कर सकते हैं: स्कीमा: पूरे स्कीमा को एक चरण में आयात करने के लिए लोड करें। माइग्रेशन के टन को चलाने के विरोध में यह अनुशंसा की जाती है।

2

इसके अलावा, रेल किट पैकेज पर कुछ बड़ी रूबी (जैसे वह मेरा दिमाग फिसल रहा है जो आपको अपने रेल ऐप में एक ईकॉमर्स साइट सेट करने देता है), उनके माइग्रेशन को फ़्लैट करें।

मैं माइक्रेशन के एक टन के साथ प्रोजेक्ट्स के बारे में भी जानता हूं ताकि यह हर बार ऐसा करने के लिए रेक डीबी चलाने में कितना समय लगता है: माइग्रेट शुरू करने के लिए शुरू होता है (कहें, निरंतर एकीकरण सर्वर पर)

+0

यह स्प्री प्रोजेक्ट होगा। वे हाल ही में अपने प्रवासन flattening के बारे में बात कर रहे हैं –

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