निम्नलिखित फ़ंक्शन process_login.install में एक कस्टम मॉड्यूल के भाग के रूप में समाहित है जिसे process_login कहा जाता है। मॉड्यूल काम करता है अगर मैंने मैन्युअल रूप से डेटाबेस तालिका बनाई है, लेकिन स्वाभाविक रूप से मैं तालिका को स्वचालित रूप से स्थापित करना चाहूंगा।
मॉड्यूल को स्थापित करने पर फ़ंक्शन स्वयं एक स्कीमा त्रुटि उत्पन्न नहीं करता है। लेकिन न तो यह Drupal 7 MySQL डेटाबेस में डेटाबेस टेबल process_login_register बनाता है।
साइट रिपोर्ट द्वारा बताई गई कोई अन्य त्रुटियां मुझे नहीं दिख रही हैं, या समस्याएं हैं।
मैंने इसे पूरी तरह से हटा दिया है और कई बार पुनः इंस्टॉल किया है। मैंने वेब को बड़े पैमाने पर खोजा है, और ड्रुपल विकास पर मेरे पास मौजूद दो पुस्तकों से परामर्श किया है। मैं इस फ़ंक्शन (नीचे सूचीबद्ध) के साथ कुछ भी गलत नहीं देख सकता।
नोट: मैंने धारावाहिक के रूप में 'id' को परिभाषित करने की कोशिश की है, लेकिन एक ही परिणाम प्राप्त करें (अर्थात कोई तालिका नहीं बनाई गई)।
मैंने विचारों से भाग लिया है। क्या किसी को पता है कि यह कार्य क्यों नहीं कर रहा है?
function process_login_schema(){
$schema['process_login_register'] = array(
'description' => 'Register a specific computer with the system.',
'fields' => array(
'id' => array(
'description' => 'Primary identifier.',
'type' => 'int',
'unsigned' => TRUE,
'size' => 'normal',
'not null' => TRUE,
'default' => 0,
),
'ip' => array(
'description' => "The user's IP address at registration.",
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
'default' => '',
),
'user_agent' => array(
'description' => "The user's browser user agent string at registration.",
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
),
'primary key' => array('id'),
);
return $schema;
}
hook_enable()
। मॉड्यूल को स्थापित करने के बाद ही इसे अनइंस्टॉल किया जा सकता है (अनइंस्टॉल टैब या डेवेल / रीइंस्टॉल का उपयोग करके), जिसके बाद मॉड्यूल द्वारा बनाई गई सभी तालिकाओं को हटा दिया जाता है। आप तो मॉड्यूल इंस्टॉल करते हैं, hook_install()
चलाया जाता है के रूप में आप उम्मीद थी