377 lines
12 KiB
SQL
377 lines
12 KiB
SQL
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
|
|
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
|
|
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
|
|
|
|
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
USE `mydb` ;
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`ticket_category`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`ticket_category` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`ticket_category` (
|
|
`TCategoryId` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Name` VARCHAR(45) NOT NULL ,
|
|
PRIMARY KEY (`TCategoryId`) ,
|
|
UNIQUE INDEX `Name_UNIQUE` (`Name` ASC) )
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`ticket_user`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`ticket_user` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`ticket_user` (
|
|
`TUserId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Permission` INT(3) NOT NULL DEFAULT 1 ,
|
|
`ExternId` INT(10) UNSIGNED NOT NULL ,
|
|
PRIMARY KEY (`TUserId`) )
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`ticket`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`ticket` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`ticket` (
|
|
`TId` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Timestamp` TIMESTAMP NOT NULL ,
|
|
`Title` VARCHAR(120) NOT NULL ,
|
|
`Status` INT NULL DEFAULT 0 ,
|
|
`Queue` INT NULL DEFAULT 0 ,
|
|
`Ticket_Category` INT UNSIGNED NOT NULL ,
|
|
`Author` INT UNSIGNED NOT NULL ,
|
|
`Priority` INT(3) NULL DEFAULT 0 ,
|
|
PRIMARY KEY (`TId`) ,
|
|
INDEX `fk_ticket_ticket_category_idx` (`Ticket_Category` ASC) ,
|
|
INDEX `fk_ticket_ams_user_idx` (`Author` ASC) ,
|
|
CONSTRAINT `fk_ticket_ticket_category`
|
|
FOREIGN KEY (`Ticket_Category` )
|
|
REFERENCES `mydb`.`ticket_category` (`TCategoryId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_ticket_ams_user`
|
|
FOREIGN KEY (`Author` )
|
|
REFERENCES `mydb`.`ticket_user` (`TUserId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`assigned`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`assigned` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`assigned` (
|
|
`Ticket` INT UNSIGNED NOT NULL ,
|
|
`User` INT UNSIGNED NOT NULL ,
|
|
INDEX `fk_assigned_ticket_idx` (`Ticket` ASC) ,
|
|
PRIMARY KEY (`Ticket`, `User`) ,
|
|
INDEX `fk_assigned_ams_user_idx` (`User` ASC) ,
|
|
CONSTRAINT `fk_assigned_ticket`
|
|
FOREIGN KEY (`Ticket` )
|
|
REFERENCES `mydb`.`ticket` (`TId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_assigned_ams_user`
|
|
FOREIGN KEY (`User` )
|
|
REFERENCES `mydb`.`ticket_user` (`TUserId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`tag`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`tag` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`tag` (
|
|
`TagId` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Value` VARCHAR(60) NOT NULL ,
|
|
PRIMARY KEY (`TagId`) ,
|
|
UNIQUE INDEX `Value_UNIQUE` (`Value` ASC) )
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`tagged`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`tagged` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`tagged` (
|
|
`Ticket` INT UNSIGNED NOT NULL ,
|
|
`Tag` INT UNSIGNED NOT NULL ,
|
|
PRIMARY KEY (`Ticket`, `Tag`) ,
|
|
INDEX `fk_tagged_tag_idx` (`Tag` ASC) ,
|
|
CONSTRAINT `fk_tagged_ticket`
|
|
FOREIGN KEY (`Ticket` )
|
|
REFERENCES `mydb`.`ticket` (`TId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_tagged_tag`
|
|
FOREIGN KEY (`Tag` )
|
|
REFERENCES `mydb`.`tag` (`TagId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`ticket_content`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`ticket_content` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`ticket_content` (
|
|
`TContentId` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Content` TEXT NULL ,
|
|
PRIMARY KEY (`TContentId`) )
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARACTER SET = utf8;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`ticket_reply`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`ticket_reply` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`ticket_reply` (
|
|
`TReplyId` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Ticket` INT UNSIGNED NOT NULL ,
|
|
`Author` INT UNSIGNED NOT NULL ,
|
|
`Content` INT UNSIGNED NOT NULL ,
|
|
`Timestamp` TIMESTAMP NULL ,
|
|
`Hidden` TINYINT(1) NULL DEFAULT 0 ,
|
|
PRIMARY KEY (`TReplyId`) ,
|
|
INDEX `fk_ticket_reply_ticket_idx` (`Ticket` ASC) ,
|
|
INDEX `fk_ticket_reply_ams_user_idx` (`Author` ASC) ,
|
|
INDEX `fk_ticket_reply_content_idx` (`Content` ASC) ,
|
|
CONSTRAINT `fk_ticket_reply_ticket`
|
|
FOREIGN KEY (`Ticket` )
|
|
REFERENCES `mydb`.`ticket` (`TId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_ticket_reply_ams_user`
|
|
FOREIGN KEY (`Author` )
|
|
REFERENCES `mydb`.`ticket_user` (`TUserId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_ticket_reply_ticket_content`
|
|
FOREIGN KEY (`Content` )
|
|
REFERENCES `mydb`.`ticket_content` (`TContentId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`ticket_group`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`ticket_group` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`ticket_group` (
|
|
`TGroupId` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Title` VARCHAR(80) NOT NULL ,
|
|
PRIMARY KEY (`TGroupId`) ,
|
|
UNIQUE INDEX `Title_UNIQUE` (`Title` ASC) )
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`in_group`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`in_group` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`in_group` (
|
|
`Ticket_Group` INT UNSIGNED NOT NULL ,
|
|
`Ticket` INT UNSIGNED NOT NULL ,
|
|
PRIMARY KEY (`Ticket_Group`, `Ticket`) ,
|
|
INDEX `fk_in_group_ticket_group_idx` (`Ticket_Group` ASC) ,
|
|
INDEX `fk_in_group_ticket_idx` (`Ticket` ASC) ,
|
|
CONSTRAINT `fk_in_group_ticket_group`
|
|
FOREIGN KEY (`Ticket_Group` )
|
|
REFERENCES `mydb`.`ticket_group` (`TGroupId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_in_group_ticket`
|
|
FOREIGN KEY (`Ticket` )
|
|
REFERENCES `mydb`.`ticket` (`TId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`ticket_log`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`ticket_log` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`ticket_log` (
|
|
`TLogId` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Timestamp` TIMESTAMP NOT NULL ,
|
|
`Query` VARCHAR(255) NOT NULL ,
|
|
`Ticket` INT UNSIGNED NOT NULL ,
|
|
`Author` INT(10) UNSIGNED NULL ,
|
|
PRIMARY KEY (`TLogId`) ,
|
|
INDEX `fk_ticket_log_ticket1` (`Ticket` ASC) ,
|
|
INDEX `fk_ticket_log_ticket_user1` (`Author` ASC) ,
|
|
CONSTRAINT `fk_ticket_log_ticket1`
|
|
FOREIGN KEY (`Ticket` )
|
|
REFERENCES `mydb`.`ticket` (`TId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_ticket_log_ticket_user1`
|
|
FOREIGN KEY (`Author` )
|
|
REFERENCES `mydb`.`ticket_user` (`TUserId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`support_group`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`support_group` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`support_group` (
|
|
`SGroupId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Name` VARCHAR(22) NOT NULL ,
|
|
`Tag` VARCHAR(7) NOT NULL ,
|
|
`GroupEmail` VARCHAR(45) NULL ,
|
|
`IMAP_MailServer` VARCHAR(60) NULL ,
|
|
`IMAP_Username` VARCHAR(45) NULL ,
|
|
`IMAP_Password` VARCHAR(45) NULL ,
|
|
PRIMARY KEY (`SGroupId`) ,
|
|
UNIQUE INDEX `Name_UNIQUE` (`Name` ASC) ,
|
|
UNIQUE INDEX `Tag_UNIQUE` (`Tag` ASC) )
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`in_support_group`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`in_support_group` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`in_support_group` (
|
|
`User` INT(10) UNSIGNED NOT NULL ,
|
|
`Group` INT(10) UNSIGNED NOT NULL ,
|
|
INDEX `fk_in_support_group_ticket_user1` (`User` ASC) ,
|
|
INDEX `fk_in_support_group_support_group1` (`Group` ASC) ,
|
|
CONSTRAINT `fk_in_support_group_ticket_user1`
|
|
FOREIGN KEY (`User` )
|
|
REFERENCES `mydb`.`ticket_user` (`TUserId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_in_support_group_support_group1`
|
|
FOREIGN KEY (`Group` )
|
|
REFERENCES `mydb`.`support_group` (`SGroupId` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`forwarded`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`forwarded` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`forwarded` (
|
|
`Group` INT(10) UNSIGNED NOT NULL ,
|
|
`Ticket` INT UNSIGNED NOT NULL ,
|
|
INDEX `fk_forwarded_support_group1` (`Group` ASC) ,
|
|
INDEX `fk_forwarded_ticket1` (`Ticket` ASC) ,
|
|
CONSTRAINT `fk_forwarded_support_group1`
|
|
FOREIGN KEY (`Group` )
|
|
REFERENCES `mydb`.`support_group` (`SGroupId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_forwarded_ticket1`
|
|
FOREIGN KEY (`Ticket` )
|
|
REFERENCES `mydb`.`ticket` (`TId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`email`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`email` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`email` (
|
|
`MailId` INT NOT NULL AUTO_INCREMENT ,
|
|
`Recipient` VARCHAR(50) NULL ,
|
|
`Subject` VARCHAR(60) NULL ,
|
|
`Body` VARCHAR(400) NULL ,
|
|
`Status` VARCHAR(45) NULL ,
|
|
`Attempts` VARCHAR(45) NULL DEFAULT 0 ,
|
|
`UserId` INT(10) UNSIGNED NULL ,
|
|
`MessageId` VARCHAR(45) NULL ,
|
|
`TicketId` INT UNSIGNED NULL ,
|
|
`Sender` INT(10) UNSIGNED NULL ,
|
|
PRIMARY KEY (`MailId`) ,
|
|
INDEX `fk_email_ticket_user2` (`UserId` ASC) ,
|
|
INDEX `fk_email_ticket1` (`TicketId` ASC) ,
|
|
INDEX `fk_email_support_group1` (`Sender` ASC) ,
|
|
CONSTRAINT `fk_email_ticket_user2`
|
|
FOREIGN KEY (`UserId` )
|
|
REFERENCES `mydb`.`ticket_user` (`TUserId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_email_ticket1`
|
|
FOREIGN KEY (`TicketId` )
|
|
REFERENCES `mydb`.`ticket` (`TId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk_email_support_group1`
|
|
FOREIGN KEY (`Sender` )
|
|
REFERENCES `mydb`.`support_group` (`SGroupId` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
-- Table `mydb`.`ticket_info`
|
|
-- -----------------------------------------------------
|
|
DROP TABLE IF EXISTS `mydb`.`ticket_info` ;
|
|
|
|
CREATE TABLE IF NOT EXISTS `mydb`.`ticket_info` (
|
|
`TInfoId` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
`Ticket` INT UNSIGNED NOT NULL ,
|
|
`ShardId` INT NULL ,
|
|
`UserPosition` VARCHAR(65) NULL ,
|
|
`ViewPosition` VARCHAR(65) NULL ,
|
|
`ClientVersion` VARCHAR(65) NULL ,
|
|
`PatchVersion` VARCHAR(65) NULL ,
|
|
`ServerTick` VARCHAR(40) NULL ,
|
|
`ConnectState` VARCHAR(40) NULL ,
|
|
`LocalAddress` VARCHAR(60) NULL ,
|
|
`Memory` VARCHAR(60) NULL ,
|
|
`OS` VARCHAR(120) NULL ,
|
|
`Processor` VARCHAR(120) NULL ,
|
|
`CPUID` VARCHAR(50) NULL ,
|
|
`CpuMask` VARCHAR(50) NULL ,
|
|
`HT` VARCHAR(65) NULL ,
|
|
`NeL3D` VARCHAR(120) NULL ,
|
|
`PlayerName` VARCHAR(45) NULL ,
|
|
`UserId` INT NULL ,
|
|
`TimeInGame` VARCHAR(50) NULL ,
|
|
PRIMARY KEY (`TInfoId`) ,
|
|
INDEX `fk_ticket_info_ticket1` (`Ticket` ASC) ,
|
|
CONSTRAINT `fk_ticket_info_ticket1`
|
|
FOREIGN KEY (`Ticket` )
|
|
REFERENCES `mydb`.`ticket` (`TId` )
|
|
ON DELETE NO ACTION
|
|
ON UPDATE NO ACTION)
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
|
|
SET SQL_MODE=@OLD_SQL_MODE;
|
|
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
|
|
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
|