মডিউল ইনস্টলেশনের সময় কীভাবে টেবিল তৈরি করবেন


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-reinstall mymoduleকরে থাকেন তবে দ্রুত আপনার মডিউলটি পুনরায় ইনস্টল করতে ব্যবহার করতে পারেন
ফ্লাই করুন

উত্তর:


11

আপনি কলামটির lengthজন্য সম্পত্তি varchar('তালিকা') মিস করছেন । lengthপ্রয়োজনীয় তাই CREATE TABLEকোয়েরি ব্যর্থ হবে।

থেকে স্কিমা এপিআই ডক্স :

'টাইপ' ব্যতীত সমস্ত প্যারামিটারগুলি alচ্ছিক, এ জাতীয় ধরণের 'সংখ্যার' কলামগুলিতে অবশ্যই 'নির্ভুলতা' এবং 'স্কেল' নির্দিষ্ট করা উচিত এবং 'বর্ণচক্র' কলামগুলি অবশ্যই 'দৈর্ঘ্য' নির্দিষ্ট করতে হবে specify


4

myodule_schemaএকটি টাইপো আছে একটি mপরে নিখোঁজ y


ধন্যবাদ বিটারাইড, এটি প্রতিলিপি ভুল ছিল। আমি আপনাকে একটি ভোট দিয়েছি কারণ আপনি আমার পোস্টটি পড়েছেন এবং বাস্তবে আমি ফাংশনটির নামে একটি বানান ভুল পেয়েছি এহ
টাইলার ডারডেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.