2011-04-14 16 views
5

का उपयोग करने से कैसे बचें मैं अपने दिन-प्रति-दिन प्रोग्रामिंग कार्यों में हाइबरनेट का उपयोग करता हूं और मुझे यह बहुत अच्छा लगता है। विशेष रूप से मुझे विकास के दौरान स्कीमा अपडेट प्रबंधित करने के तरीके से प्यार है, मुझे कई सिरदर्द से बचा रहा है।हाइबरनेट स्कीमा अपडेट

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

बोलो! :)

धन्यवाद।

उत्तर

2

इसी तरह के प्रश्न और इसके उत्तर के लिए Strategies for dealing with constantly changing requirements for MySQL schemas? पर देखें।

इसे कम करने के लिए, एक बार आपके पास उचित मात्रा में डेटा हो और इसे एक स्कीमा से दूसरे में माइग्रेट करने की आवश्यकता हो, तो आपको अपनी स्कीमा बदलने और डेटा बदलने/बदलने के लिए SQL स्क्रिप्ट लिखना होगा।

+0

भले ही mySQL मेरी पसंद का डीबी है, मैं हाइबरनेट के बारे में बात कर रहा हूं। तो मैं डेटाबेस स्वतंत्र होना चाहता हूँ। – gotch4

3

Liquibase पर एक नज़र डालें। यह अनिवार्य रूप से आपके डेटाबेस स्कीमा के लिए एक संस्करण नियंत्रण प्रणाली है। यह nicely integrates with Hibernate भी है।

0

मुझे व्यक्तिगत रूप से लगता है कि यह सिफारिश बहुत सावधान है। हम उत्पादन और विकास दोनों में अच्छी संख्या के लिए हाइबरनेट ऑटो अपडेट सुविधा का उपयोग कर रहे हैं और इसके साथ कभी समस्या नहीं थी (और हां, हम बहुत सारे बड़े सिस्टम और प्रसिद्ध ब्रांडों को पूरा करते हैं)।

स्पष्ट रूप से आपको यह सुनिश्चित करने के लिए अपने आवेदन का परीक्षण करना होगा कि एक संस्करण से दूसरे संस्करण में अपग्रेड करते समय हाइबरनेट सही काम करता है, लेकिन यह भी अन्य सभी सॉफ़्टवेयर पहलू के लिए लागू होता है।

आपको यह भी पता होना चाहिए कि ऑटो-अपडेट क्या कर सकता है (उदाहरण के लिए नई टेबल बनाएं, नए इंडेक्स जोड़ें) और यह क्या नहीं कर सकता (उदा। ड्रॉप टेबल, बाधाओं को हटाएं)। लापता बिट्स कच्चे जेडीबीसी के साथ, आसानी से परीक्षण के बिना, आसानी से करने योग्य हैं।

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