You are here

function quotes_schema in Quotes 7

Same name and namespace in other branches
  1. 6 quotes.install \quotes_schema()

Implements hook_schema().

File

./quotes.install, line 18
Handles installation and updates for the quotes module.

Code

function quotes_schema() {
  $schema = array();
  $schema['quotes'] = array(
    'module' => 'Quotes',
    'description' => 'Extra node data.',
    'fields' => array(
      'nid' => array(
        'description' => 'Node identifier.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'vid' => array(
        'description' => 'Version identifier.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'aid' => array(
        'description' => 'Author identifier.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'citation' => array(
        'description' => 'Source of the quote.',
        'type' => 'text',
        'not null' => FALSE,
      ),
      'promote' => array(
        'description' => 'Status.',
        'type' => 'int',
        'size' => 'tiny',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'primary key' => array(
      'vid',
    ),
    'indexes' => array(
      'quotes_nid' => array(
        'nid',
      ),
      'quotes_promote' => array(
        'promote',
      ),
      'quotes_aid' => array(
        'aid',
      ),
    ),
  );
  $schema['quotes_blocks'] = array(
    'module' => 'Quotes',
    'description' => 'Quotes blocks data.',
    'fields' => array(
      'bid' => array(
        'description' => 'Block number',
        'type' => 'serial',
        'not null' => TRUE,
      ),
      'block_type' => array(
        'description' => 'Type of block',
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
      ),
      'vid' => array(
        'description' => 'Version id',
        'type' => 'int',
        'not null' => TRUE,
      ),
      'count' => array(
        'description' => 'Number of quotes in the block.',
        'type' => 'int',
        'not null' => FALSE,
        'default' => 1,
      ),
      'cron_interval' => array(
        'description' => 'Cron frequency',
        'type' => 'int',
        'not null' => TRUE,
      ),
      'cron_step' => array(
        'description' => 'Cron step',
        'type' => 'int',
        'not null' => TRUE,
      ),
      'cron_last' => array(
        'description' => 'Last Cron run time',
        'type' => 'int',
        'not null' => TRUE,
      ),
      'show_titles' => array(
        'description' => 'Show titles.',
        'type' => 'int',
        'size' => 'small',
        'not null' => FALSE,
        'default' => 0,
        'disp-width' => '6',
      ),
      'show_citation' => array(
        'description' => 'Show citation.',
        'type' => 'int',
        'size' => 'small',
        'not null' => FALSE,
        'default' => 0,
      ),
      'max_length' => array(
        'description' => 'Maximum length of quote in block.',
        'type' => 'int',
        'not null' => FALSE,
        'default' => 0,
        'disp-width' => '11',
      ),
      'rand_freq' => array(
        'description' => 'Display frequency for random blocks.',
        'type' => 'int',
        'not null' => TRUE,
        'default' => 100,
      ),
      'name' => array(
        'description' => 'Name of this block',
        'type' => 'varchar',
        'length' => '255',
        'not null' => TRUE,
      ),
      'nid_filter' => array(
        'description' => 'Node filter',
        'type' => 'text',
        'not null' => TRUE,
      ),
      'aid_filter' => array(
        'description' => 'Author filter',
        'type' => 'text',
        'not null' => TRUE,
      ),
      'rid_filter' => array(
        'description' => 'Role filter',
        'type' => 'text',
        'not null' => TRUE,
      ),
      'uid_filter' => array(
        'description' => 'User filter',
        'type' => 'text',
        'not null' => TRUE,
      ),
      'tid_filter' => array(
        'description' => 'Term filter',
        'type' => 'text',
        'not null' => TRUE,
      ),
      'view_text' => array(
        'description' => 'Text for the "view" link.',
        'type' => 'varchar',
        'length' => 64,
        'not null' => FALSE,
      ),
      'more_text' => array(
        'description' => 'Text for the "more" link.',
        'type' => 'varchar',
        'length' => 64,
        'not null' => FALSE,
      ),
    ),
    'primary key' => array(
      'bid',
    ),
    'unique keys' => array(
      'name' => array(
        'name',
      ),
    ),
  );
  $schema['quotes_authors'] = array(
    'module' => 'Quotes',
    'description' => 'Quotes authors data.',
    'fields' => array(
      'aid' => array(
        'description' => 'Author identifier.',
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'name' => array(
        'description' => 'Author of the quote.',
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
      ),
      'bio' => array(
        'description' => "Author's biography.",
        'type' => 'text',
        'not null' => FALSE,
      ),
    ),
    'primary key' => array(
      'aid',
    ),
    'unique keys' => array(
      'name' => array(
        'name',
      ),
    ),
  );
  return $schema;
}