2011-02-25 9 views
5

मेरे वाईएक्स प्रोजेक्ट में मेरे पास एक फ़ाइल डेटा और एक एसक्यूएल स्क्रिप्ट है जो डीबी बनाती है, तालिकाओं को सम्मिलित/अद्यतन पंक्तियों को बदलती है, आदि। सभी स्क्रिप्ट को तीन भागों में विभाजित किया जाता है और एसक्लस्क्रिप्ट तत्व के माध्यम से निष्पादित किया जाता है। मैं ContinueOnError="no" का उपयोग करता हूं लेकिन यदि पिछली स्क्रिप्ट सफलतापूर्वक निष्पादित की गई थी तो इसे रोलबैक नहीं किया जाएगा। क्या मैं लेनदेन में सभी स्क्रिप्ट लपेट सकता हूं और कोशिश/पकड़ ब्लॉक का उपयोग कर सकता हूं? क्या WiZ से कैच इवेंट को संभालने का कोई मौका है? आप इस तरह के इंस्टॉलर बनाने के लिए क्या सलाह दे सकते हैं?वाईएक्स: आप डीबी को अपडेट करने के बारे में कैसे जाते हैं?

उत्तर

4

हम Wix SQL एक्सटेंशन का उपयोग नहीं करते हैं, हम अपनी नौकरी करने के लिए कस्टम क्रियाएं चलाते हैं।

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

अनइंस्टॉल करने पर, हम डेटाबेस का बैकअप लें, इसे हटाएं (सशर्त रूप से उपयोगकर्ता इनपुट पर आधारित), और अनइंस्टॉल करते समय कुछ भी गलत होने पर पुनर्स्थापित करें।

+2

डेटाबेस 100 जीबी होने पर बैकअप नहीं किया जा सकता है और बैकअप नहीं किया जा सकता है? –

1

विक्स इस तरह से SQL स्क्रिप्ट को संभाल नहीं करता है।

मेरा मानना ​​है कि आपके विकल्प काफी सीमित हैं।

  1. स्थापना से पहले डेटाबेस बैकअप बनाएं और इंस्टॉल विफलता पर इसे पुनर्स्थापित करें। जब तक कि आप निश्चित रूप से नहीं जानते कि डेटा का आकार हमेशा छोटा होगा, शायद यह इंस्टॉलर का स्वचालित हिस्सा नहीं होना चाहिए।

  2. स्थापित विफलता के मामले में अनुक्रमित और चलाने के लिए रोलबैक एसक्यूएल स्क्रिप्ट प्रदान करें। आपको आवश्यक डीबी परिवर्तनों के प्रकारों के आधार पर गधे में वास्तविक दर्द हो सकता है।

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

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