You are here

function subscriptions_schema in Subscriptions 7

Same name and namespace in other branches
  1. 6 subscriptions.install \subscriptions_schema()
  2. 2.0.x subscriptions.install \subscriptions_schema()

Implements hook_schema().

Return value

array

File

./subscriptions.install, line 13
Subscriptions module installation.

Code

function subscriptions_schema() {
  $schema['subscriptions'] = array(
    'fields' => array(
      'sid' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'module' => array(
        'type' => 'varchar',
        'length' => '64',
        'not null' => FALSE,
      ),
      'field' => array(
        'type' => 'varchar',
        'length' => '32',
        'not null' => FALSE,
      ),
      'value' => array(
        'type' => 'varchar',
        'length' => '237',
        'not null' => FALSE,
      ),
      'recipient_uid' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'send_interval' => array(
        'type' => 'int',
        'not null' => FALSE,
      ),
      'author_uid' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'send_updates' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => 0,
      ),
      'send_comments' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'primary key' => array(
      'sid',
    ),
    'indexes' => array(
      'module' => array(
        'module',
        'field',
        'value',
      ),
      'recipient_uid' => array(
        'recipient_uid',
      ),
    ),
  );
  $schema['subscriptions_queue'] = array(
    'fields' => array(
      'sqid' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'uid' => array(
        'type' => 'int',
        'not null' => FALSE,
      ),
      'name' => array(
        'type' => 'varchar',
        'length' => '60',
        'not null' => FALSE,
      ),
      'language' => array(
        'type' => 'varchar',
        'length' => '12',
        'not null' => FALSE,
      ),
      'module' => array(
        'type' => 'varchar',
        'length' => '64',
        'not null' => FALSE,
      ),
      'field' => array(
        'type' => 'varchar',
        'length' => '32',
        'not null' => FALSE,
      ),
      'value' => array(
        'type' => 'varchar',
        'length' => '237',
        'not null' => FALSE,
      ),
      'author_uid' => array(
        'type' => 'int',
        'not null' => FALSE,
      ),
      'send_interval' => array(
        'type' => 'int',
        'not null' => FALSE,
      ),
      'digest' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => FALSE,
      ),
      'load_args' => array(
        'type' => 'varchar',
        'length' => '255',
        'not null' => TRUE,
        'default' => '',
      ),
      'load_function' => array(
        'type' => 'varchar',
        'length' => '60',
        'not null' => TRUE,
        'default' => '',
      ),
      'is_new' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => FALSE,
      ),
      'last_sent' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'suspended' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'primary key' => array(
      'sqid',
    ),
    'indexes' => array(
      'load_args' => array(
        'load_args',
        'load_function',
        'uid',
      ),
      'uid' => array(
        'uid',
      ),
    ),
  );
  $schema['subscriptions_user'] = array(
    'fields' => array(
      'uid' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'digest' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'secure_links' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'send_interval' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => -1,
      ),
      'send_updates' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'send_comments' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'send_interval_visible' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => -1,
      ),
      'send_updates_visible' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'send_comments_visible' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'autosub_on_post' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'autosub_on_update' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'autosub_on_comment' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'send_self' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => -1,
      ),
      'suspended' => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'primary key' => array(
      'uid',
    ),
  );
  $schema['subscriptions_last_sent'] = array(
    'fields' => array(
      'uid' => array(
        'type' => 'int',
        'not null' => TRUE,
      ),
      'send_interval' => array(
        'type' => 'int',
        'not null' => TRUE,
      ),
      'last_sent' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'primary key' => array(
      'uid',
      'send_interval',
    ),
  );
  return $schema;
}