मॉड्यूल इंस्टॉलेशन के दौरान टेबल कैसे बनाएं


14

मैं ड्रुपल 7 के लिए एक मॉड्यूल बनाने की कोशिश कर रहा हूं और मुझे 3 टेबल बनाने और इसे आबाद करने की आवश्यकता है। लेकिन पहले मुझे इसे बनाने की आवश्यकता है।

फाइल में mymodule.install मुझे मिल गया है

function mymodule_install() {

}

function mymodule_uninstall() {

}


function myodule_schema() {
  $schema['mymodule_table'] = array(
    'description' => t('First table'),
    'fields' => array(
      'id' => array(
        'description' => t('My unique identifier'),
        'type' => 'int',
        'unsigned' => true,
        'not null' => true,
      ),
      'list' => array(
        'description' => t('list'),
        'type' => 'varchar',
        'not null' => true,
      ),
    ),
    'primary key' => array('id'),
  );
  return $schema;     
}

मैं क्या गलत कर रहा हूं? हर बार जब मैं मॉड्यूल का परीक्षण करता हूं, तो मैं इसे अक्षम करता हूं -> अनइंस्टॉल -> प्रदर्शन स्पष्ट कैश -> इसे सक्षम करता हूं।


3
आप इस्तेमाल कर सकते हैं आप Drush है और devel स्थापित किया है drush devel-reinstall mymoduleजल्दी से अपने मॉड्यूल पुनर्स्थापित करने के लिए
फ्लाई

जवाबों:


11

आपको कॉलम ('सूची') के lengthलिए संपत्ति याद आ रही है varcharlengthआवश्यक है इसलिए CREATE TABLEक्वेरी विफल हो जाएगी।

से स्कीमा एपीआई डॉक्स :

'प्रकार' के अलावा सभी पैरामीटर वैकल्पिक हैं, सिवाय इसके कि 'संख्यात्मक' कॉलम में 'सटीक' और 'स्केल' को निर्दिष्ट किया जाना चाहिए, और 'varchar' कॉलम को 'लंबाई' निर्दिष्ट करना होगा।


4

myodule_schemaएक टाइपो है। के mबाद एक लापता है y


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