function support_schema in Support Ticketing System 6
Same name and namespace in other branches
- 7 support.install \support_schema()
Support database schema definition.
File
- ./
support.install, line 11
Code
function support_schema() {
$schema['support_client'] = array(
'description' => 'Stores information about support clients.',
'fields' => array(
'clid' => array(
'type' => 'serial',
'not null' => TRUE,
'unsigned' => TRUE,
),
'name' => array(
'type' => 'varchar',
'length' => 128,
'not null' => TRUE,
'default' => '',
),
'path' => array(
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
'default' => '',
),
'status' => array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => 0,
),
'parent' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'integrate_email' => array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => 0,
),
'server_name' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => '',
),
'server_username' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => '',
),
'server_password' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => '',
),
'mailfrom' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => '',
),
'mailbox' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => '',
),
'protocol' => array(
'type' => 'int',
'size' => 'small',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'extra' => array(
'type' => 'varchar',
'length' => 128,
'not null' => TRUE,
'default' => '',
),
'port' => array(
'type' => 'int',
'size' => 'small',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'autoassign' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => 'Optionally assign new tickets to this user.',
),
'autosubscribe' => array(
'type' => 'text',
),
'domains' => array(
'type' => 'text',
'size' => 'big',
),
'notes' => array(
'type' => 'text',
'size' => 'big',
),
'thread_subject' => array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => 0,
'description' => 'Optionally configure per-client subject threading settings.',
),
'user_creation' => array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => 0,
'description' => 'Optionally configure per-client user creation settings.',
),
),
'primary key' => array(
'clid',
),
'indexes' => array(
'status' => array(
'status',
),
'autoassign' => array(
'autoassign',
),
),
'unique keys' => array(
'name' => array(
'name',
),
),
);
$schema['support_ticket'] = array(
'description' => 'Stores information about support tickets.',
'fields' => array(
'nid' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'message_id' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
'state' => array(
'type' => 'int',
'size' => 'small',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'priority' => array(
'type' => 'int',
'size' => 'small',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'client' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'assigned' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'nid',
),
'indexes' => array(
'message_id' => array(
'message_id',
),
'state' => array(
'state',
),
),
);
$schema['support_ticket_comment'] = array(
'description' => 'Stores information about support ticket comments.',
'fields' => array(
'cid' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'message_id' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
'state' => array(
'type' => 'int',
'size' => 'small',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'priority' => array(
'type' => 'int',
'size' => 'small',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'client' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'assigned' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'cid',
),
'indexes' => array(
'message_id' => array(
'message_id',
),
),
);
$schema['support_assigned'] = array(
'description' => 'Stores information about who tickets are assigned to.',
'fields' => array(
'nid' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'uid' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'nid',
'uid',
),
'indexes' => array(
'support_assigned_uid' => array(
'uid',
),
),
);
$schema['support_states'] = array(
'description' => 'All available support states.',
'fields' => array(
'sid' => array(
'type' => 'serial',
'not null' => TRUE,
'unsigned' => TRUE,
),
'state' => array(
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
),
'phase1' => array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'phase2' => array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'isdefault' => array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'isclosed' => array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'weight' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'sid',
),
'indexes' => array(
'weight_state' => array(
'weight',
'state',
),
'isdefault' => array(
'isdefault',
),
'isclosed' => array(
'isclosed',
),
),
);
$schema['support_priority'] = array(
'description' => 'All available support priorities.',
'fields' => array(
'pid' => array(
'type' => 'serial',
'not null' => TRUE,
'unsigned' => TRUE,
),
'priority' => array(
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
),
'isdefault' => array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
'weight' => array(
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'pid',
),
'indexes' => array(
'weight_priority' => array(
'weight',
'priority',
),
'isdefault' => array(
'isdefault',
),
),
);
return $schema;
}