function mostpopular_schema in Drupal Most Popular 6
Same name and namespace in other branches
- 7 mostpopular.install \mostpopular_schema()
Implements hook_schema().
File
- ./
mostpopular.install, line 38 - Install and uninstall functions for the Most Popular module.
Code
function mostpopular_schema() {
$schema['mostpopular_services'] = array(
'description' => 'Stores configuration information about the most popular services',
'fields' => array(
'sid' => array(
'type' => 'serial',
'not null' => TRUE,
),
'module' => array(
'description' => 'The module that provides this service',
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
),
'delta' => array(
'description' => 'The delta of this service within the module (for modules that provide more than one service)',
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
),
'enabled' => array(
'description' => 'TRUE if this service is enabled, false otherwise',
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
),
'status' => array(
'type' => 'int',
'size' => 'small',
'not null' => TRUE,
),
'name' => array(
'description' => "The name of the provided service (so we don't have to look it up every time)",
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
),
'title' => array(
'description' => 'The title to show users in for this service',
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
),
'extra' => array(
'description' => 'Any additional parameters for the service, serialized',
'type' => 'text',
'size' => 'medium',
'serialize' => TRUE,
),
'weight' => array(
'type' => 'int',
'not null' => TRUE,
),
),
'primary key' => array(
'sid',
),
'unique keys' => array(
'service' => array(
'module',
'delta',
),
),
);
$schema['mostpopular_intervals'] = array(
'description' => 'Stores the predefined intervals to fetch for each service',
'fields' => array(
'iid' => array(
'type' => 'serial',
'not null' => TRUE,
),
'string' => array(
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
),
'title' => array(
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
),
'weight' => array(
'type' => 'int',
'not null' => TRUE,
),
),
'primary key' => array(
'iid',
),
'unique keys' => array(
'interval_str' => array(
'string',
),
'weight' => array(
'iid',
'weight',
),
),
);
$schema['mostpopular_last_run'] = array(
'description' => 'Stores the time at which a service was last run over an interval.',
'fields' => array(
'sid' => array(
'description' => 'The service that generated this data',
'type' => 'int',
'not null' => TRUE,
),
'iid' => array(
'description' => 'The interval to which this data corresponds',
'type' => 'int',
'not null' => TRUE,
),
'last_run' => array(
'description' => 'The time at which this service was last run',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'throttle' => array(
'description' => 'The amount of time to wait before refreshing this service again',
'type' => 'varchar',
'length' => 64,
),
),
'primary key' => array(
'sid',
'iid',
),
);
$schema['mostpopular_items'] = array(
'description' => 'Stores cached values from the most popular services',
'fields' => array(
'sid' => array(
'description' => 'The service that generated this data',
'type' => 'int',
'not null' => TRUE,
),
'iid' => array(
'description' => 'The interval to which this data corresponds',
'type' => 'int',
'not null' => TRUE,
),
'nid' => array(
'description' => 'If node ID, if this item is a node',
'type' => 'int',
),
'url' => array(
'description' => 'The URL alias of the node or page',
'type' => 'varchar',
'length' => 1024,
),
'title' => array(
'description' => 'The title of the node or page',
'type' => 'varchar',
'length' => 1024,
),
'count' => array(
'description' => 'The number of occurrences of this URL within the requested time interval',
'type' => 'int',
'not null' => TRUE,
),
),
'primary key' => array(
'sid',
'iid',
array(
'url',
50,
),
),
'unique keys' => array(
'count' => array(
'sid',
'iid',
'count',
array(
'url',
50,
),
'nid',
),
'page' => array(
array(
'url',
50,
),
'sid',
'iid',
'count',
'nid',
),
),
);
return $schema;
}