द्रुपाल नोड के शरीर की सामग्री को कहां संग्रहीत करता है?


48

नोड तालिका में, आपको वास्तविक निकाय को छोड़कर सब कुछ मिलेगा। मुझे यह बॉडी टेक्स्ट कहां मिल सकता है? मैं मान रहा हूं कि इसे कहीं एक बूँद के रूप में संग्रहीत किया जा रहा है।


यह समझने के लिए कि ड्रुपल 7 में एक नोड के सभी क्षेत्र कहाँ संग्रहीत हैं: drupal.stackexchange.com/questions/68515/…
पंजे

जवाबों:


38

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

अगर मुझे सही से याद है, तो नोड का शरीर उस तालिका में संग्रहीत किया जाता है जिसका उपयोग नोड के "संशोधन" को रखने के लिए किया जाता है। मुझे यकीन नहीं है कि इसका नाम क्या है, लेकिन यह "node_revision" या "node_revisions" जैसा कुछ होना चाहिए।


4
सही बात। यह node_revisions.body

बस जोड़ने के लिए ... नोड के शरीर को अलग करने का उद्देश्य देवों को कई अलग-अलग सामग्री प्रकार बनाने की अनुमति देना है, और उनके पास केवल एक तालिका है जिसमें सभी नोड_एड हैं। संशोधन, जिसमें शरीर भी शामिल है, अलग-अलग तालिका में हैं।
रान्डेल

Webdevgeeks.com लिंक टूट गया है।
रिप्रोग्रामर

ड्रुपल के किस संस्करण के लिए यह उत्तर सही है?
पंजे

1
@claws, यह उत्तर Drupal 6 के लिए है, Drupal 7 के लिए शरीर फ़ील्ड को field_data_body तालिका में संग्रहीत किया जाता है।
योगेश

53

Drupal 7 में शरीर को field_data_body तालिका में ले जाया गया है।


2
मेरी Drupal 7 साइट में, मैं अपने कंटेंट के बॉडी को "field_data_body" और "field_revision_body" टेबल में देख सकता हूं।
reprogrammer

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

1
बिल्कुल सही नहीं। बॉडी टेक्स्ट valueनामक फ़ील्ड के कॉलम में संग्रहीत होता है body। यह डिफ़ॉल्ट रूप से तालिका के body_valueकॉलम में संग्रहीत होता है field_data_body। हालाँकि, आपको उपयोग करने से कुछ भी नहीं रोकता है, मानगोडीबी को bodyक्षेत्र में डेटा संग्रहीत करने के लिए कहते हैं (लगभग कुछ भी नहीं: मानक प्रोफ़ाइल इसे SQL में बनाता है, इसलिए यदि आप बाद में एक दर्दनाक प्रवासन को बचाने के लिए MongoDB का उपयोग करना चाहते हैं तो आप बेहतर उपयोग करते हैं)।

नोड के बीच क्या संबंध है और field_data_body? उत्तरार्द्ध में कोई nidया vidस्तंभ नहीं है (कम से कम उस नाम के साथ नहीं)
विस्फोट गोलियां

Field_data_body में एक colume unit_is है जो नोड टेबल से एनआईडी का संदर्भ है
अभिनव कुंदन


8

Drupal 6 में, नोड के शरीर की सामग्री को 'शरीर' क्षेत्र के अंतर्गत 'node_revisions' तालिका में सहेजा जाता है।

node_revisions.body

Drupal 7 में, नोड के शरीर की सामग्री को 'body_value' फ़ील्ड के अंतर्गत 'field_data_body' तालिका में सहेजा जाता है। यदि सामग्री में संशोधन होता है, तो यह 'body_value' फ़ील्ड के अंतर्गत 'field_revision_body' तालिका में डेटा भी बचाता है।

field_data_body.body_value

field_revision_body.body_value

Drupal 8 में, नोड के शरीर की सामग्री को 'body_value' फ़ील्ड के अंतर्गत 'node__body' तालिका में सहेजा जाता है। यदि मामले में संशोधन होते हैं, तो यह 'body_value' फ़ील्ड के अंतर्गत 'node_revision__body' तालिका में डेटा भी बचाता है।

node__body.body_value

node_revision__body.body_value


5

आपकी सामग्री प्रकार शरीर की सामग्री में field_data_bodyऔर field_revision_bodyतालिकाओं में सहेजी जाती है ।


2

यह वह SQL है जिसका आप उपयोग करेंगे (MySQL क्लाइंट):

SELECT node.nid,node.vid,type,node.title, body 
FROM node join node_revisions ON node.nid = node_revisions.nid
WHERE node.title = 'some title';

तो हाँ, उत्तर Drupal 6 में "node_revisions" तालिका है।


2

Drupal 7 में, नोड बॉडी को field_data_body और field_revision_body में पाया जाता है। CCK (जो Drupal 7 में कोर में जोड़ा गया है) का उपयोग करके जोड़े गए नए फ़ील्ड field_config और field_config_instance में पाए जाते हैं। Drupal6 में, नोड बॉडी को नोड_रेविज़न पर संग्रहीत किया जाता है और बनाए गए फ़ील्ड content_node_field और content_node_field_instance पर सहेजे जाते हैं।


1

मैंने कुछ नई सामग्री प्रकार बनाए हैं, और उनके लिए, निकाय या विवरण तालिका के कॉलम field_description_value पर जाता है content_type_<type_name>जहां type_nameनए सामग्री प्रकार का नाम है।


1

Drupal 7 में field_revision_body में इसकी .. यदि आप उस तालिका का वर्णन करते हैं, तो आपको बॉडी समरी और इसके लोंगटेक्स प्रकार के लिए एक कोल दिखाई देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.