Files
Project-CBackend/createDatabase.sql
2026-02-04 14:32:53 +01:00

89 lines
3.6 KiB
SQL

CREATE DATABASE `ticket_sys`;
CREATE TABLE `Log` (
`logID` bigint(20) NOT NULL,
`errorMessage` varchar(200) NOT NULL,
`datetime` varchar(20) NOT NULL,
`userID` int(11) NOT NULL,
PRIMARY KEY (`logID`),
KEY `userID` (`userID`),
CONSTRAINT `Log_ibfk_1` FOREIGN KEY (`userID`) REFERENCES `User` (`userID`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
CREATE TABLE `ValidateToken` (
`tokenID` bigint(20) NOT NULL AUTO_INCREMENT,
`validationDate` varchar(40) NOT NULL,
`token` text NOT NULL,
PRIMARY KEY (`tokenID`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
CREATE TABLE `Category` (
`categoryID` bigint(20) NOT NULL,
`categoryname` varchar(50) NOT NULL,
PRIMARY KEY (`categoryID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
INSERT INTO Category (categoryID, categoryname) VALUES (1, 'Hardware'),
(2,'Software'),(3,'Schäden'),(4,'Personal-Probleme');
CREATE TABLE `User` (
`userID` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
`isEmployee` tinyint(1) NOT NULL DEFAULT 0,
`categoryId` bigint(20) DEFAULT NULL,
PRIMARY KEY (`userID`),
UNIQUE KEY `username` (`username`),
KEY `categoryId` (`categoryId`),
CONSTRAINT `User_ibfk_1` FOREIGN KEY (`categoryId`) REFERENCES `Category` (`categoryID`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
INSERT INTO User (userID, username, password, isEmployee) VALUES
(1, 'Admin', '$2a$12$b0api3lk2ewEa79pmw3.I.yQneiJ3N/uuX.VT96yrycbvIWJuQFj2', 1),
(2, 'User', '$2a$12$CgCm7dgFRMWniUu0.gRI5eANuPLcuAuL.ldmaL81DmOeQI4dXCQMe', 0);
-- Benutzername: Admin Passwort: admin
-- Benutzername: User Passwort: user
CREATE TABLE `Ticket` (
`ticketID` int(11) NOT NULL AUTO_INCREMENT,
`ticketname` varchar(100) NOT NULL,
`userID` int(11) NOT NULL,
`status` tinyint(4) NOT NULL CHECK (`status` between 1 and 3),
`priority` tinyint(4) DEFAULT NULL CHECK (`priority` between 1 and 4),
`opendAt` varchar(40) NOT NULL,
`ClosedAt` varchar(40) DEFAULT NULL,
`category` varchar(50) DEFAULT NULL,
`description` text DEFAULT NULL,
`categoryId` bigint(20) DEFAULT NULL,
PRIMARY KEY (`ticketID`),
KEY `userID` (`userID`),
KEY `categoryId` (`categoryId`),
CONSTRAINT `Ticket_ibfk_1` FOREIGN KEY (`userID`) REFERENCES `User` (`userID`) ON UPDATE CASCADE,
CONSTRAINT `Ticket_ibfk_2` FOREIGN KEY (`categoryId`) REFERENCES `Category` (`categoryID`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1014 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
CREATE TABLE `Messages` (
`ticketID` int(11) NOT NULL,
`messageID` int(11) NOT NULL,
`Sequence` int(11) NOT NULL,
`sendAt` varchar(20) NOT NULL,
`content` text NOT NULL,
`sender` int(11) NOT NULL,
PRIMARY KEY (`messageID`),
KEY `ticketID` (`ticketID`),
KEY `sender` (`sender`),
CONSTRAINT `Messages_ibfk_1` FOREIGN KEY (`ticketID`) REFERENCES `Ticket` (`ticketID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `Messages_ibfk_2` FOREIGN KEY (`sender`) REFERENCES `User` (`userID`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
CREATE TABLE `Attachments` (
`ticketID` int(11) NOT NULL,
`messageID` int(11) NOT NULL,
`attachment` blob NOT NULL,
PRIMARY KEY (`ticketID`,`messageID`),
CONSTRAINT `Attachments_ibfk_1` FOREIGN KEY (`ticketID`) REFERENCES `Messages` (`messageID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;