2017-01-10 6 views
0

я создал модуль, но unablet создать таблицу ниже мой код mysubscribers.installДрупал 7 модуль .install не смог создать таблицу

mysubscribers.install

function mysubscribers_schema(){ 
    $schema['mysubscribers'] = array(
     'description' => 'The table for storing the subscriber data.', 
     'fields' => array(
      'id' => array(
       'description' => 'The primary identifier for subscriber.', 
       'type' => 'serial', 
       'not null' => TRUE, 
       'unsigned' => TRUE, 
      ), 
     ), 
     'primary key' => array('id'), 
    ); 
    return $schema; 
} 

/** 
* Implements hook_install(). 
*/ 

function mysubscribers_install() { 
    if (db_table_exists('mysubscribers')) { 
    db_drop_table('mysubscribers');  // old table from 5.x-2.x 
    } 

} 
+0

Я думаю, вам нужно удалить и переустановить модуль, чтобы запустить HOOK_schema. Не нужно удалять таблицу при удалении. – 2pha

+0

@gaurav это новый модуль на вашем сайте или он уже работает? –

+0

Имеет ли пользователь базы данных разрешения на создание таблиц? – MilanG

ответ

0

Нет проблем здесь при запуске ваш код. Вам не нужно удалять БД при установке. Если вы вносите изменения в схему, добавьте свои изменения в hook_update() с чем-то вроде db_change_field() или db_add_field().

До тех пор, пока ваше соглашение об именах правильное, это должно работать. Предположим, что у вас есть mysubscribers.info, mysubscribers.module и mysubscribers.install