2013-04-14 2 views
5

उदाहरण के लिए, मैंने {id, name} मेनेसिया में सहेजा और {id, name, age} पर अपडेट करना चाहते हैं, क्या मुझे स्कीमा बदलने पर हर बार transform_table पर कॉल करना होगा?मैनेशिया स्कीमा को अपडेट करने का सबसे आसान तरीका क्या है?

+2

आप और क्या करने में सक्षम होने की उम्मीद करेंगे? आपको कुछ फ़ंक्शन कॉल के माध्यम से टेबल बदलनी है, है ना? transform_table/{3-4} आपको स्कीमा को समायोजित करने के दृष्टिकोण को बदलने के लिए कुछ विकल्प देता है। – d11wtq

+1

हां। आपको उस तालिका को बदलना होगा –

+0

क्या ट्रांसफॉर्म_टेबल बहुत लंबा समय लेता है जब मैनेशिया टेबल बहुत बड़ा हो जाता है? यदि ऐसा है, तो यह हॉट-कोड अपग्रेड के लाभ को प्रभावित करेगा। अगर किसी अन्य समाधान के माध्यम से, रिकॉर्ड संस्करण का ट्रैक रखें और केवल लोड किए गए रिकॉर्ड्स को अपग्रेड करें, तो अपग्रेड कोड थकाऊ और त्रुटि-प्रवण हो सकता है। –

उत्तर

1

तालिका को हटाने और इसे फिर से बनाने का सबसे आसान तरीका है। यदि आपको तालिका में डेटा रखने की आवश्यकता है, तो mnesia:transform_table जाने का तरीका है।

+1

क्या आपको लगता है कि टेबल को हटाने और पुनर्निर्माण करने से उत्पादन प्रणाली टूट सकती है। –

+0

ज्यादातर मामलों में, हाँ, जब तक कि आप टेबल को पुन: प्रयास करते समय डेटाबेस तक नहीं पहुंच जाते। 'transform_table' ऐसी समस्याओं से बचाता है। – legoscia

+0

हाँ, transform_table ऐसी समस्या से निपटने के लिए सभ्य दृष्टिकोण है। मैं सिर्फ जवाब के लिए एक व्यापक परिप्रेक्ष्य दे रहा था। –

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

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