You are here

function subscriptions_schema in Subscriptions 2.0.x

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

Implements hook_schema().

File

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

Code

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