मैंने एक mymodule.install फ़ाइल लिखी है जिसमें मेरे डेटाबेस में एक तालिका बनाने के लिए एक स्कीमा परिभाषा है। इस तालिका में दो डेटा फ़ील्ड हैं। वे फ़ील्ड उपयोगकर्ताओं द्वारा तब पॉपुलेट किए जाएंगे जब वे विशिष्ट सामग्री (उदाहरण के लिए: किसी समाचार के लिए विशिष्ट प्रकाशन तिथि) भरेंगे। अब मैंने उद्देश्य पर दिनांक योगदान मॉड्यूल का उपयोग नहीं किया, क्योंकि मुझे आवश्यकता है कि कुछ दो फ़ील्ड अन्य कारणों से डेटाबेस तालिका में एक ही पंक्ति में थे।
Hook_schema दो क्षेत्रों को इस तरह परिभाषित करता है:
'pubblish_date' => array(
'description' => t('The pubblish date for the single news'),
'mysql_type' => 'datetime',
'not null' => FALSE,
),
'unpublish_date' => array(
'description' => t('The unpublish date for the single news'),
'mysql_type' => 'datetime',
'not null' => FALSE,
),
तालिका को डेटाबेस में सही ढंग से बनाया गया है, लेकिन मुझे हमेशा वेसे सलाह संदेश मिलते हैं:
फ़ील्ड news_board.pubblish_date: mysql प्रकार डेटाटाइम के लिए कोई स्कीमा प्रकार नहीं। फ़ील्ड news_board.unpublish_date: mysql प्रकार डेटाटाइम के लिए कोई स्कीमा प्रकार नहीं। news_board.pubblish_date: स्कीमा प्रकार के लिए कोई प्रकार नहीं: सामान्य। फ़ील्ड news_board.pubblish_date: प्रकार के लिए कोई स्कीमा प्रकार नहीं। news_board.unpublish_date: स्कीमा प्रकार के लिए कोई प्रकार नहीं: सामान्य। फ़ील्ड news_board.unpublish_date: प्रकार के लिए कोई स्कीमा प्रकार नहीं।
मेरे लिए अजीब लगता है क्योंकि मैं mysql_type विनिर्देशन का उपयोग करने के लिए दस्तावेज़ीकरण पर लाल हूं, ताकि mysql डेटाबेस में डेटाटाइम प्रारूप संग्रहीत कर सकूं।
मुझे पता है कि Drupal मूल रूप से टाइमस्टैम्प का समर्थन करता है और यदि आप एक अलग दिनांक प्रारूप को संग्रहीत करना चाहते हैं तो आपको डेटाबेस के अनुसार mysql_type या pgsql_type जैसी विशिष्ट परिभाषाओं का उपयोग करना होगा।
चर्चाओं में मैंने पाया कि बहुत से लोगों ने mysql_type परिभाषा का उपयोग किया और जो मैंने देखा कि उन्होंने समस्या को हल किया है, इसलिए यह मेरे लिए काम क्यों नहीं करता है?
बहुत बहुत धन्यवाद।
•Field news_board.pubblish_date: no Schema type for mysql type datetime. •Field news_board.unpublish_date: no Schema type for mysql type datetime.