You are here

function simpleads_schema in SimpleAds 7

Same name and namespace in other branches
  1. 8 simpleads.install \simpleads_schema()
  2. 7.2 simpleads.install \simpleads_schema()

Implements hook_schema().

File

./simpleads.install, line 578

Code

function simpleads_schema() {
  $schema['simpleads_impressions'] = array(
    'description' => 'Stores Ad Impressions',
    'fields' => array(
      'aid' => array(
        'type' => 'serial',
        'not null' => TRUE,
        'description' => 'Ad ID',
      ),
      'nid' => array(
        'type' => 'int',
        'not null' => TRUE,
        'description' => 'Node ID',
      ),
      'timestamp' => array(
        'type' => 'varchar',
        'length' => 30,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Timestamp',
      ),
      'ip_address' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => 'IP Address',
      ),
    ),
    'primary key' => array(
      'aid',
    ),
    'indexes' => array(
      'nid' => array(
        'nid',
      ),
      'aid' => array(
        'aid',
      ),
    ),
  );
  $schema['simpleads_clicks'] = array(
    'description' => 'Stores Ad Clicks',
    'fields' => array(
      'aid' => array(
        'type' => 'serial',
        'not null' => TRUE,
        'description' => 'Ad ID',
      ),
      'nid' => array(
        'type' => 'int',
        'not null' => TRUE,
        'description' => 'Node ID',
      ),
      'timestamp' => array(
        'type' => 'varchar',
        'length' => 30,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Timestamp',
      ),
      'ip_address' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => 'IP Address',
      ),
    ),
    'primary key' => array(
      'aid',
    ),
    'indexes' => array(
      'nid' => array(
        'nid',
      ),
      'aid' => array(
        'aid',
      ),
    ),
  );
  $schema['simpleads_stats'] = array(
    'description' => 'Advertisement aggregated stats',
    'fields' => array(
      'nid' => array(
        'type' => 'int',
        'not null' => TRUE,
        'description' => 'Advertisement node ID',
      ),
      'date' => array(
        'type' => 'varchar',
        'length' => 10,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Stats day',
      ),
      'clicks' => array(
        'type' => 'int',
        'not null' => FALSE,
        'description' => 'Clicks counter',
      ),
      'clicks_unique' => array(
        'type' => 'int',
        'not null' => FALSE,
        'description' => 'Clicks counter',
      ),
      'impressions' => array(
        'type' => 'int',
        'not null' => FALSE,
        'description' => 'Impressions counter',
      ),
      'impressions_unique' => array(
        'type' => 'int',
        'not null' => FALSE,
        'description' => 'Impressions counter',
      ),
    ),
    'primary key' => array(
      'nid',
      'date',
    ),
  );
  $schema['simpleads_blocks'] = array(
    'description' => 'Stores Ad Blocks',
    'fields' => array(
      'abid' => array(
        'type' => 'serial',
        'not null' => TRUE,
        'description' => 'Ad Block ID',
      ),
      'tid' => array(
        'type' => 'int',
        'not null' => TRUE,
        'description' => 'Taxonomy Term ID',
      ),
      'settings' => array(
        'type' => 'text',
        'not null' => TRUE,
        'description' => 'Serialized data (settings)',
      ),
    ),
    'primary key' => array(
      'abid',
    ),
    'indexes' => array(
      'tid' => array(
        'tid',
      ),
    ),
  );
  return $schema;
}