[решено] Не создаётся таблица при инсталляции модуля.

Главные вкладки

Аватар пользователя abrakadobr abrakadobr 3 июля 2012 в 8:09

Делаю модуль.

определяю структуру таблицы для инсталла и деинстала:

<?php
// $Id$
/**
 * file
 * Install, update and uninstall functions for uc_aoa.
 */

 
/**
 * Реализация hook_install().
 */

function uc_aoa_install() {
  watchdog('uc_aoa', 'Schema before installed.');
  drupal_install_schema('uc_aoa');
  watchdog('uc_aoa', 'Schema installed.');
}

/**
 * Implements hook_uninstall().
 */

function uc_aoa_uninstall() {
  watchdog('uc_aoa', 'Schema before uninstalled.');
  drupal_uninstall_schema('uc_aoa');
  watchdog('uc_aoa', 'Schema uninstalled.');
}
 
/**
 * Implementation of hook_schema().
 */

function uc_aoa_schema() {
  //$schema = array();

  $schema['uc_aoa'] = array(
    'description' => 'Attributes options access data.',
    'fields' => array(
      'aoaid' => array(
        'description' => 'Primary key: access definition ID.',
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'aid' => array(
        'description' => 'Attribute ID.',
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'oid' => array(
        'description' => 'Option ID.',
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'rid' => array(
        'description' => 'Role ID.',
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
    ),
    'primary key' => array('aoaid'),
  );
  //watchdog('uc_aoa', 'Shcema defined.');
  return $schema;
}

получаю две проблемы:
1. при включении модуля таблица не создаётся.
2. в watchdog записывается 'Shcema defined.' только при включении модуля. больше не пишется ничего (схема инсталл, схема пред инсталл и т.д.)
3. даже если модуль не включен, всё равно постоянно вываливается ошибка:

warning: htmlspecialchars() expects parameter 1 to be string, array given in D:\!www\image-media.ru\includes\bootstrap.inc on line 863.

дебаг ошибки показал, что передаётся весь массив определения схемы uc_aoa.

с пхп дружу давно, модули под друпал пишу первый раз.
документацию курю, гугл ковыряю, но может вы сразу ткнёте - где трабл?
может тупо очепятка где и я её не вижу?
вообще не понимаю куда копать.

Комментарии