2016-08-19 14 views
7

मैंने व्यक्तिगत रूप से लिक्विबेस और फ्लाईवे दोनों को व्यक्तिगत रूप से और व्यक्तिगत तुलना में देखा है, लिक्विबेस हमारी आवश्यकताओं के लिए बेहतर टूल की तरह दिखता है। कुछ सूत्रों ने एक साथ लिक्विबेस और फ्लाईवे दोनों का उपयोग करके उल्लेख किया है। लगता है कि रोलबैक की बात आने पर लिक्विबेस में सबकुछ फ्लाईवे है और अधिक लचीलापन है। लगता है कि फ्लाईवे का मुख्य लाभ एक्सएमएल का उपयोग नहीं कर रहा है, लेकिन लिक्विबेस आपको अपने एक्सएमएल में एक एसक्यूएल फाइल निर्दिष्ट करने की अनुमति देता है।फ्लाईवे और तरल पदार्थ एक साथ?

असल में, मैं अभी भी स्पष्ट नहीं हूं कि फ्लाईवे & का उपयोग करने के लाभों के बारे में अभी भी स्पष्ट नहीं है, यदि कोई है तो लिक्विबेस एक साथ लिक्विबेस पर होगा। हो सकता है कि ऐसा करने का कोई तरीका है, मैं यह नहीं देख रहा हूं कि लिक्विबेस वैध फ्लाईवे एसक्यूएल फाइलों का जिक्र कर रहा था, दोनों टूल्स को स्वतंत्र रूप से चलाना होगा और फिर भी वही समस्याएं होंगी, भले ही आप तकनीकी रूप से किसी भी उपकरण का उपयोग कर सकें।

उत्तर

16

प्रश्न का उत्तर देने से पहले एक छोटा सुधार। धारणा

Liquibase सब कुछ Flyway

सही नहीं है है है लगता है। एसक्यूएल पार्स करने की बात आती है जब फ्लाईवे चमकता है। आप पीएल/एसक्यूएल पैकेज और प्रक्रियाओं, माईएसक्यूएल डिलीमीटर परिवर्तन, टी-एसक्यूएल, पोस्टग्रेएसक्यूएल प्रक्रियाओं, जैसे सभी प्रकार की जटिलताओं वाले आपके मूल उपकरण द्वारा उत्पन्न अनमोडिफाइड एसक्यूएल फाइलों का उपयोग कर सकते हैं ... लिक्विबेस के साथ आपको इन्हें व्यक्तिगत विवरणों में विभाजित करना होगा, एसक्यूएल फ़ाइलों के लिए अतिरिक्त टिप्पणी जोड़ें, ...

अपने एसक्यूएल फ़ाइलों का उपयोग करने के लिए के रूप में है सक्षम होने का सौंदर्य है कि आप लॉक-इन से बचने के है। आप अपनी मौजूदा एसक्यूएल फाइलें ले सकते हैं, न्यूनतम निवेश के साथ फ्लाईवे का उपयोग करना शुरू कर सकते हैं और बाद में चले गए हैं यदि यह आपकी आवश्यकताओं के अनुरूप नहीं है। ऐसा नहीं है Liquibase के साथ।

इसके अलावा नीचे माइग्रेशन के मुद्दे (प्रतिकारी लेनदेन, नहीं पुनरावर्तन के रूप में उनमें से लगता है) वास्तव में कुछ है कि सिद्धांत रूप में महान लग रहा है, लेकिन यह है कि लगभग व्यवहार में आवश्यकता नहीं है। देखें https://flywaydb.org/documentation/faq#downgrade

हालांकि जब यह एक या दोनों का उपयोग करने के लिए आता है, तो मैं निश्चित रूप से स्टीवडोनी (लिक्विबेस टीम के सदस्य) से सहमत हूं कि दोनों के बजाय केवल एक का उपयोग करना हमेशा बेहतर विकल्प है।

अस्वीकरण: मैं Flyway के निर्माता हूँ

+0

वाह, मुझे रचनाकारों से सीधे इस पर इस तरह के निश्चित उत्तर होने की उम्मीद नहीं थी! धन्यवाद। आप रोलबैक पर इंगित करते हैं समझ में आता है और यहां तक ​​कि तरल पदार्थ रोलबैक के साथ भी कम या ज्यादा माइग्रेशन होता है। मुझे लगता है कि अभ्यास वह जगह है जहां चीजें अधिक रिश्तेदार बन जाती हैं। यह एक कम या कम मैन्युअल प्रक्रिया को प्रतिस्थापित करना था, इसलिए वास्तव में कोई भी उपकरण शायद बेहतर अभ्यास है। चूंकि उपयोग का मामला जेनकींस नौकरी में है, मुझे लगता है कि उत्पादन में कुछ बदलाव हैं जो अवांछित होंगे और आपको रिवर्स ऑपरेशंस की आवश्यकता होगी। रोलबैक सिर्फ मेरे परिप्रेक्ष्य से कमांड का नाम है। – Slayer0248

+0

मेरा मतलब है कि यदि आप चाहें तो शायद आप नाम बदल सकते हैं। रोलबैक को अभी अपनाया गया है और वर्तमान में इसका उपयोग क्या है। अगर मैं इस प्रवृत्ति की स्थापना नहीं कर रहा हूं तो कोई भी इसे अलग नाम नहीं देना शुरू कर देगा। बस मेरे विचार। – Slayer0248

+2

हे नमस्ते, मुझे आपके उत्तरों में गंभीर संदेह हैं, जब मैं मुख्य पृष्ठ पर माइग्रेशन टूल और मैपर के बीच तुलना करता हूं, तो आप फ्लाईवे के साथ माइबेटिस की तुलना नहीं कर सकते हैं, टेस्ला इंजन के साथ सेब को कंप्रेसर करने की तरह है, वे समान हैं .. ऐसा ही करना बात .. वे मौजूद हैं! और विक्रेता लॉक .. वास्तव में? पोस्टग्रेज़ से अपना सादा पुराना (सार्वभौमिक, मुझे लगता है) एसक्यूएल लें और इसे ऑरैकल में लागू करें, आपको सादा बूढ़ा आदमी मिल जाएगा जब तक आप "हवा" उत्तर तरल पदार्थ न केवल एक्सएमएल के बारे में खुला है डॉक्स .. ओह मेरे –

4

सहमत हुए। मुझे नहीं लगता कि उन्हें एक साथ उपयोग करना एक अच्छा विचार होगा।

7

मैं एक ही समय में दोनों उपकरणों का उपयोग करने की सलाह देते हैं कभी नहीं होगा। मेरे अनुभव में, उनमें से केवल एक ही समय में एक बड़े वितरित वातावरण (एक ही डीबी तक पहुंच के साथ 5 से अधिक टीमों) में संघर्ष/टकराव का कारण बनता है।

मैं आपको यह भी पक्ष-विपक्ष के एक जोड़े दे देंगे जब यह बड़ा, वितरित टीमों के साथ परियोजनाओं में इन उपकरणों को चलाने के लिए आता है:

flyway:

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

पेशेवर: ठीक है, कंस में वर्णित किया गया था, साथ ही, अनुशासन का एक स्तर तैयार करेगा। उत्पादन टीम चलाने के लिए कई टीमों द्वारा एक साथ परिवर्तन शुरू करने के बारे में बात करते समय यह एक उचित प्रतिबंध हो सकता है।

Liquibase:

विपक्ष: tweaks की एक जोड़ी आप मौजूदा (लागू) माइग्रेशन को बदलने के लिए अनुमति चाहिए के साथ। हालांकि इसे एक लाभ के रूप में माना जा सकता है, उसी कोडबेस पर काम करने वाले बहुत से लोग, अतिरिक्त सावधानी बरतनी चाहिए। लचीलापन एक कीमत पर आता है। वितरित परियोजनाओं के लिए परिवर्तनों की ऐसी "गिट फोर्स पुश" शैली की अनुमति होने पर कुछ "प्रतिगमन" या असंगतता को पेश करना आसान है।

पेशेवर: अधिक विन्यास योग्य और अधिक लचीला। भविष्य में नोएसक्ल के लिए समाधान शामिल हो सकते हैं। कुछ उपयोगी प्लगइन्स (उदाहरण के लिए हाइबरनेट एकीकरण)।

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