CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_custom_fields` ( `CustomFieldId` int(11) NOT NULL auto_increment, `DepartmentId` int(11) NOT NULL, `CustomFieldName` varchar(255) NOT NULL, `CustomFieldLabel` varchar(255) NOT NULL, `CustomFieldType` varchar(255) NOT NULL, `CustomFieldValues` text NOT NULL, `Required` enum('0','1') NOT NULL, `CustomFieldMapTable` varchar(255) NOT NULL, `CustomFieldMapColumn` varchar(255) NOT NULL, UNIQUE KEY `CustomFieldId` (`CustomFieldId`), KEY `DepartmentId` (`DepartmentId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_custom_fields_value` ( `CustomFieldValueId` int(11) NOT NULL auto_increment, `CustomFieldId` int(11) NOT NULL, `TicketId` int(11) NOT NULL, `CustomFieldValue` text NOT NULL, UNIQUE KEY `CustomFieldValueId` (`CustomFieldValueId`), KEY `CustomFieldId` (`CustomFieldId`,`TicketId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_departments` ( `DepartmentId` int(11) NOT NULL auto_increment, `DepartmentName` varchar(255) NOT NULL, `DepartmentPrefix` varchar(255) NOT NULL, `TicketAssignmentType` enum('static','automatic') NOT NULL, `TicketGenerationRule` enum('sequential','random') NOT NULL, `NextTicketNumber` int(11) NOT NULL default '1', `UserEmailTicket` enum('0','1') NOT NULL, `StaffEmailTicket` enum('0','1') NOT NULL, `FileUpload` enum('yes','users','no') NOT NULL default 'yes', `NotifyNewTicketEmails` text NOT NULL, `FileUploadExtensions` text NOT NULL, `DepartmentPriority` enum('low','normal','high') NOT NULL default 'normal', `DepartmentOrder` int(11) NOT NULL,UNIQUE KEY `DepartmentId` (`DepartmentId`), KEY `UserEmailTicket` (`UserEmailTicket`,`StaffEmailTicket`,`FileUpload`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_events` ( `EventName` varchar(255) NOT NULL, `EventFunction` text NOT NULL) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_files` ( `FileId` int(11) NOT NULL auto_increment, `TicketMessageId` int(11) NOT NULL, `UserId` int(11) NOT NULL, `FileName` varchar(255) NOT NULL, `FileLocation` varchar(255) NOT NULL, UNIQUE KEY `FileId` (`FileId`), KEY `TicketMessageId` (`TicketMessageId`,`UserId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_groups` ( `GroupId` int(11) NOT NULL auto_increment, `GroupName` varchar(255) NOT NULL, `CanAddTicket` enum('0','1') NOT NULL, `CanAddTicketUsers` enum('0','1') NOT NULL, `CanAddTicketStaff` enum('0','1') NOT NULL, `CanUpdateTicket` enum('0','1') NOT NULL, `CanDeleteTicket` enum('0','1') NOT NULL, `CanAnswerTicket` enum('0','1') NOT NULL, `CanDeleteTicketReplies` enum('0','1') NOT NULL, `CanUpdateTicketReplies` enum('0','1') NOT NULL, `CanAssignTickets` enum('0','1') NOT NULL, `CanChangeTicketStatus` enum('0','1') NOT NULL, `CanSeeUnallocatedTickets` enum('0','1') NOT NULL, `CanSeeOtherTickets` enum('0','1') NOT NULL, `CanMoveTicket` enum('0','1') NOT NULL, UNIQUE KEY `GroupId` (`GroupId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_plugins` ( `PluginId` varchar(255) NOT NULL, `PluginName` varchar(255) NOT NULL, `PluginDescription` varchar(255) NOT NULL, `PluginLink` varchar(255) NOT NULL, `PluginInstalled` enum('0','1') NOT NULL, UNIQUE KEY `PluginId` (`PluginId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_searches` ( `SearchId` int(11) NOT NULL auto_increment, `UserId` int(11) NOT NULL, `SearchType` enum('tickets','my_tickets') NOT NULL, `SearchName` varchar(255) NOT NULL, `SearchParameters` text NOT NULL, `SearchDefault` enum('0','1') NOT NULL default '0', UNIQUE KEY `SearchId` (`SearchId`), KEY `UserId` (`UserId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_settings` ( `setting` varchar(255) NOT NULL, `value` varchar(255) NOT NULL, UNIQUE KEY `setting` (`setting`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_staff` ( `StaffId` int(11) NOT NULL auto_increment, `GroupId` int(11) NOT NULL, `UserId` int(11) NOT NULL, UNIQUE KEY `StaffId` (`StaffId`), KEY `GroupId` (`GroupId`,`UserId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_staff_to_department` ( `StaffToDepartmentId` int(11) NOT NULL auto_increment, `UserId` int(11) NOT NULL, `DepartmentId` int(11) NOT NULL, `OpenTickets` int(11) NOT NULL default '0', UNIQUE KEY `StaffToDepartmentId` (`StaffToDepartmentId`), KEY `StaffId` (`DepartmentId`), KEY `UserId` (`UserId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_tickets` ( `TicketId` int(11) NOT NULL auto_increment, `DepartmentId` int(11) NOT NULL, `UserId` int(11) NOT NULL, `CustomerId` int(11) NOT NULL, `TicketCode` varchar(255) NOT NULL, `TicketSubject` varchar(255) NOT NULL, `TicketStatus` enum('open','on-hold','closed') NOT NULL default 'open', `TicketPriority` enum('low','normal','high') NOT NULL default 'high', `TicketTime` int(11) NOT NULL, `TicketAutocloseSent` int(11) NOT NULL default '0', `TicketInfo` text NOT NULL, UNIQUE KEY `TicketId` (`TicketId`), KEY `DepartmentId` (`DepartmentId`,`UserId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_ticket_message` ( `TicketMessageId` int(11) NOT NULL auto_increment, `TicketId` int(11) NOT NULL, `UserId` int(11) NOT NULL, `TicketMessage` text NOT NULL, `TicketTime` int(11) NOT NULL, UNIQUE KEY `TicketMessageId` (`TicketMessageId`), KEY `TicketId` (`TicketId`,`UserId`)) CREATE TABLE IF NOT EXISTS `{PREFIX}rstickets_ticket_notes` ( `TicketNoteId` int(11) NOT NULL auto_increment, `TicketMessageId` int(11) NOT NULL, `UserId` int(11) NOT NULL, `TicketNote` text NOT NULL, `TicketNoteTime` int(11) NOT NULL, UNIQUE KEY `TicketNoteId` (`TicketNoteId`), KEY `TicketMessageId` (`TicketMessageId`))