यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
NocoBase प्लगइन डेवलपमेंट में, संग्रह (डेटा तालिका) सबसे मुख्य अवधारणाओं में से एक है। आप संग्रह को परिभाषित करके या उसका विस्तार करके प्लगइन में डेटा तालिका की संरचनाओं को जोड़ या संशोधित कर सकते हैं। डेटा स्रोत प्रबंधन इंटरफ़ेस के माध्यम से बनाई गई डेटा तालिकाओं के विपरीत, कोड में परिभाषित संग्रह आमतौर पर सिस्टम-स्तरीय मेटाडेटा तालिकाएँ होती हैं और वे डेटा स्रोत प्रबंधन सूची में दिखाई नहीं देंगी।
पारंपरिक डायरेक्टरी संरचना के अनुसार, संग्रह फ़ाइलें ./src/server/collections डायरेक्टरी में रखी जानी चाहिए। नई तालिकाएँ बनाने के लिए defineCollection() का उपयोग करें और मौजूदा तालिकाओं का विस्तार करने के लिए extendCollection() का उपयोग करें।
ऊपर दिए गए उदाहरण में:
name: तालिका का नाम (डेटाबेस में इसी नाम की एक तालिका अपने आप बन जाएगी)।title: इंटरफ़ेस में इस तालिका का प्रदर्शन नाम।fields: फ़ील्ड संग्रह, प्रत्येक फ़ील्ड में type, name और अन्य विशेषताएँ शामिल हैं।जब आपको अन्य प्लगइन्स के संग्रह के लिए फ़ील्ड जोड़ने या कॉन्फ़िगरेशन संशोधित करने की आवश्यकता हो, तो आप extendCollection() का उपयोग कर सकते हैं:
प्लगइन को सक्रिय करने के बाद, सिस्टम अपने आप isPublished फ़ील्ड को मौजूदा articles तालिका में जोड़ देगा।
पारंपरिक डायरेक्टरी सभी प्लगइन्स के load() मेथड के निष्पादित होने से पहले लोड हो जाएगी, जिससे उन निर्भरता संबंधी समस्याओं से बचा जा सकेगा जो कुछ डेटा तालिकाओं के लोड न होने के कारण उत्पन्न होती हैं।
जब कोई प्लगइन पहली बार सक्रिय किया जाता है, तो सिस्टम अपने आप संग्रह कॉन्फ़िगरेशन को डेटाबेस संरचना के साथ सिंक्रनाइज़ कर देगा। यदि प्लगइन पहले से स्थापित और चल रहा है, तो संग्रह जोड़ने या संशोधित करने के बाद, आपको मैन्युअल रूप से अपग्रेड कमांड निष्पादित करने की आवश्यकता होगी:
यदि सिंक्रनाइज़ेशन प्रक्रिया के दौरान कोई अपवाद या दूषित डेटा (dirty data) उत्पन्न होता है, तो आप एप्लिकेशन को फिर से इंस्टॉल करके तालिका संरचना को फिर से बना सकते हैं:
एक संग्रह को परिभाषित करने के बाद, सिस्टम अपने आप उसके लिए एक संबंधित संसाधन (Resource) जनरेट कर देगा, जिस पर आप API के माध्यम से सीधे CRUD (बनाना, पढ़ना, अपडेट करना, हटाना) ऑपरेशन कर सकते हैं। अधिक जानकारी के लिए संसाधन प्रबंधक देखें।