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