sql/init.sql
changeset 0 4869aea77e21
child 6 6c23ee543e0e
new file mode 100644
--- /dev/null
+++ b/sql/init.sql
@@ -0,0 +1,397 @@
+-- phpMyAdmin SQL Dump
+-- version 4.4.14
+-- http://www.phpmyadmin.net
+--
+-- Host: 127.0.0.1
+-- Erstellungszeit: 09. Nov 2015 um 14:16
+-- Server-Version: 5.6.26
+-- PHP-Version: 5.6.12
+
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+SET time_zone = "+00:00";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+
+--
+-- Datenbank: `ticketsystem`
+--
+
+DELIMITER $$
+--
+-- Prozeduren
+--
+CREATE DEFINER=`root`@`localhost` PROCEDURE `update_history`(IN `tid` BIGINT, IN `aid` BIGINT, IN `uid` BIGINT, IN `sid` BIGINT, IN `s_text` VARCHAR(512), IN `m_text` VARCHAR(512), IN `si_locked` SMALLINT, IN `ts_last_access` TIMESTAMP)
+    COMMENT 'Simpler Update Trigger für die History-Log-Tabelle'
+BEGIN
+INSERT INTO
+		t_history(
+			id,
+			ticket_id,
+			action_id,
+			user_id,
+			status_id,
+			subject,
+			message,
+			locked,
+			last_access
+		) VALUES(
+			NULL,
+			tid,
+			aid,
+			uid,
+			sid,
+			s_text,
+			m_text,
+			si_locked,
+			ts_last_access
+		);
+END$$
+
+DELIMITER ;
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `t_action`
+--
+
+CREATE TABLE IF NOT EXISTS `t_action` (
+  `id` bigint(20) unsigned NOT NULL,
+  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Daten für Tabelle `t_action`
+--
+
+INSERT INTO `t_action` (`id`, `name`) VALUES
+(1, 'System'),
+(2, 'ANGELEGT'),
+(3, 'GEÄNDERT'),
+(4, 'GELÖSCHT');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `t_group`
+--
+
+CREATE TABLE IF NOT EXISTS `t_group` (
+  `id` bigint(20) unsigned NOT NULL,
+  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Daten für Tabelle `t_group`
+--
+
+INSERT INTO `t_group` (`id`, `name`) VALUES
+(1, 'System'),
+(2, 'Admin'),
+(3, 'Manager'),
+(4, 'Supporter'),
+(5, 'Gast');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `t_history`
+--
+
+CREATE TABLE IF NOT EXISTS `t_history` (
+  `id` bigint(20) unsigned NOT NULL,
+  `ticket_id` bigint(11) unsigned NOT NULL DEFAULT '1',
+  `action_id` bigint(20) unsigned NOT NULL DEFAULT '1',
+  `user_id` bigint(20) unsigned NOT NULL DEFAULT '1',
+  `status_id` bigint(20) unsigned NOT NULL DEFAULT '1',
+  `subject` varchar(512) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
+  `message` varchar(512) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
+  `locked` tinyint(4) NOT NULL DEFAULT '0',
+  `last_access` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Daten für Tabelle `t_history`
+--
+
+INSERT INTO `t_history` (`id`, `ticket_id`, `action_id`, `user_id`, `status_id`, `subject`, `message`, `locked`, `last_access`) VALUES
+(1, 1, 1, 1, 1, 'Systemeintrag', 'Systemeintrag', 0, '2015-11-09 09:37:15'),
+(2, 2, 2, 1, 2, 'Ticket-1', 'Beschreibung-1', 0, '2015-11-09 13:15:27'),
+(3, 3, 2, 1, 2, 'Ticket-2', 'Beschreibung-2', 0, '2015-11-09 13:15:27'),
+(4, 4, 2, 1, 2, 'Ticket-3', 'Beschreibung-3', 0, '2015-11-09 13:15:27'),
+(5, 5, 2, 1, 2, 'Ticket-4', 'Beschreibung-4', 0, '2015-11-09 13:15:27'),
+(6, 6, 2, 1, 2, 'Ticket-5', 'Beschreibung-5', 0, '2015-11-09 13:15:27'),
+(7, 7, 2, 1, 2, 'Ticket-6', 'Beschreibung-6', 0, '2015-11-09 13:15:27'),
+(8, 8, 2, 1, 2, 'Ticket-7', 'Beschreibung-7', 0, '2015-11-09 13:15:27'),
+(9, 9, 2, 1, 2, 'Ticket-8', 'Beschreibung-8', 0, '2015-11-09 13:15:27'),
+(10, 10, 2, 1, 2, 'Ticket-9', 'Beschreibung-9', 0, '2015-11-09 13:15:27'),
+(11, 11, 2, 1, 2, 'Ticket-10', 'Beschreibung-10', 0, '2015-11-09 13:15:27');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `t_status`
+--
+
+CREATE TABLE IF NOT EXISTS `t_status` (
+  `id` bigint(20) unsigned NOT NULL,
+  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Daten für Tabelle `t_status`
+--
+
+INSERT INTO `t_status` (`id`, `name`) VALUES
+(1, 'System'),
+(2, 'offen'),
+(3, 'geschlossen'),
+(4, 'abgelehnt'),
+(5, 'korrigiert'),
+(6, 'nicht korrigierbar');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `t_text`
+--
+
+CREATE TABLE IF NOT EXISTS `t_text` (
+  `id` bigint(20) unsigned NOT NULL,
+  `user_id` bigint(20) unsigned NOT NULL DEFAULT '1',
+  `headline` text COLLATE utf8_unicode_ci NOT NULL,
+  `text` text COLLATE utf8_unicode_ci NOT NULL
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Daten für Tabelle `t_text`
+--
+
+INSERT INTO `t_text` (`id`, `user_id`, `headline`, `text`) VALUES
+(1, 1, '', 'Systemdatensatz'),
+(2, 2, 'Onscreen-Ticket System', 'Das ist ein simples Ticketsystem für dieses Unternehmen. Das Formatieren von HTML Text ist erst einmal deaktiviert und wird wohl auch niemals aktiviert.\r\n');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `t_ticket`
+--
+
+CREATE TABLE IF NOT EXISTS `t_ticket` (
+  `id` bigint(20) unsigned NOT NULL,
+  `user_id` bigint(20) unsigned NOT NULL DEFAULT '1',
+  `status_id` bigint(20) unsigned NOT NULL DEFAULT '1',
+  `subject` varchar(512) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
+  `message` varchar(512) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
+  `locked` tinyint(1) NOT NULL DEFAULT '0',
+  `last_access` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Daten für Tabelle `t_ticket`
+--
+
+INSERT INTO `t_ticket` (`id`, `user_id`, `status_id`, `subject`, `message`, `locked`, `last_access`) VALUES
+(1, 1, 1, 'System', 'System', 0, '2015-11-02 15:37:14'),
+(2, 1, 2, 'Ticket-1', 'Beschreibung-1', 0, '2015-11-09 13:15:27'),
+(3, 1, 2, 'Ticket-2', 'Beschreibung-2', 0, '2015-11-09 13:15:27'),
+(4, 1, 2, 'Ticket-3', 'Beschreibung-3', 0, '2015-11-09 13:15:27'),
+(5, 1, 2, 'Ticket-4', 'Beschreibung-4', 0, '2015-11-09 13:15:27'),
+(6, 1, 2, 'Ticket-5', 'Beschreibung-5', 0, '2015-11-09 13:15:27'),
+(7, 1, 2, 'Ticket-6', 'Beschreibung-6', 0, '2015-11-09 13:15:27'),
+(8, 1, 2, 'Ticket-7', 'Beschreibung-7', 0, '2015-11-09 13:15:27'),
+(9, 1, 2, 'Ticket-8', 'Beschreibung-8', 0, '2015-11-09 13:15:27'),
+(10, 1, 2, 'Ticket-9', 'Beschreibung-9', 0, '2015-11-09 13:15:27'),
+(11, 1, 2, 'Ticket-10', 'Beschreibung-10', 0, '2015-11-09 13:15:27');
+
+--
+-- Trigger `t_ticket`
+--
+DELIMITER $$
+CREATE TRIGGER `t_ticket_after_delete` AFTER DELETE ON `t_ticket`
+ FOR EACH ROW BEGIN
+	call update_history(OLD.id, 4, OLD.user_id, OLD.status_id, OLD.subject, OLD.message, OLD.locked, OLD.last_access);
+END
+$$
+DELIMITER ;
+DELIMITER $$
+CREATE TRIGGER `t_ticket_after_insert` AFTER INSERT ON `t_ticket`
+ FOR EACH ROW BEGIN
+	call update_history(NEW.id, 2, NEW.user_id, NEW.status_id, NEW.subject, NEW.message, NEW.locked, NEW.last_access);
+END
+$$
+DELIMITER ;
+DELIMITER $$
+CREATE TRIGGER `t_ticket_after_update` AFTER UPDATE ON `t_ticket`
+ FOR EACH ROW BEGIN
+	call update_history(NEW.id, 3, NEW.user_id, NEW.status_id, NEW.subject, NEW.message, NEW.locked, NEW.last_access);
+END
+$$
+DELIMITER ;
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `t_user`
+--
+
+CREATE TABLE IF NOT EXISTS `t_user` (
+  `id` bigint(20) unsigned NOT NULL,
+  `group_id` bigint(20) unsigned NOT NULL DEFAULT '1',
+  `username` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
+  `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
+  `firstname` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
+  `lastname` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''
+) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+--
+-- Daten für Tabelle `t_user`
+--
+
+INSERT INTO `t_user` (`id`, `group_id`, `username`, `password`, `firstname`, `lastname`) VALUES
+(1, 1, 'system@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'System', 'Datensatz'),
+(2, 2, 'broeker@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'Markus', 'Bröker'),
+(3, 3, 'manager1@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'Manager1', 'Onscreen'),
+(4, 4, 'supporter1@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter1', 'Onscreen'),
+(5, 4, 'supporter2@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter2', 'Onscreen'),
+(6, 4, 'supporter3@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter3', 'Onscreen'),
+(7, 4, 'supporter4@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter4', 'Onscreen'),
+(8, 4, 'supporter5@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter5', 'Onscreen'),
+(9, 4, 'supporter6@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter6', 'Onscreen'),
+(10, 4, 'supporter7@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter7', 'Onscreen'),
+(11, 4, 'supporter8@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter8', 'Onscreen'),
+(12, 4, 'supporter9@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter9', 'Onscreen'),
+(13, 4, 'supporter10@onscreen.net', '098f6bcd4621d373cade4e832627b4f6', 'supporter10', 'Onscreen');
+
+--
+-- Indizes der exportierten Tabellen
+--
+
+--
+-- Indizes für die Tabelle `t_action`
+--
+ALTER TABLE `t_action`
+  ADD UNIQUE KEY `id` (`id`);
+
+--
+-- Indizes für die Tabelle `t_group`
+--
+ALTER TABLE `t_group`
+  ADD UNIQUE KEY `id` (`id`);
+
+--
+-- Indizes für die Tabelle `t_history`
+--
+ALTER TABLE `t_history`
+  ADD UNIQUE KEY `id` (`id`),
+  ADD KEY `fk_history_ticked_id` (`ticket_id`),
+  ADD KEY `fk_history_action_id` (`action_id`),
+  ADD KEY `fk_history_user_id` (`user_id`),
+  ADD KEY `fk_history_status_id` (`status_id`);
+
+--
+-- Indizes für die Tabelle `t_status`
+--
+ALTER TABLE `t_status`
+  ADD UNIQUE KEY `id` (`id`);
+
+--
+-- Indizes für die Tabelle `t_text`
+--
+ALTER TABLE `t_text`
+  ADD UNIQUE KEY `id` (`id`),
+  ADD KEY `fk_t_user_text` (`user_id`);
+
+--
+-- Indizes für die Tabelle `t_ticket`
+--
+ALTER TABLE `t_ticket`
+  ADD UNIQUE KEY `id` (`id`),
+  ADD KEY `fk_t_status` (`status_id`),
+  ADD KEY `fk_t_user` (`user_id`);
+
+--
+-- Indizes für die Tabelle `t_user`
+--
+ALTER TABLE `t_user`
+  ADD UNIQUE KEY `id` (`id`),
+  ADD UNIQUE KEY `co_username` (`username`),
+  ADD KEY `fk_t_group` (`group_id`);
+
+--
+-- AUTO_INCREMENT für exportierte Tabellen
+--
+
+--
+-- AUTO_INCREMENT für Tabelle `t_action`
+--
+ALTER TABLE `t_action`
+  MODIFY `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=5;
+--
+-- AUTO_INCREMENT für Tabelle `t_group`
+--
+ALTER TABLE `t_group`
+  MODIFY `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=6;
+--
+-- AUTO_INCREMENT für Tabelle `t_history`
+--
+ALTER TABLE `t_history`
+  MODIFY `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=12;
+--
+-- AUTO_INCREMENT für Tabelle `t_status`
+--
+ALTER TABLE `t_status`
+  MODIFY `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7;
+--
+-- AUTO_INCREMENT für Tabelle `t_text`
+--
+ALTER TABLE `t_text`
+  MODIFY `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
+--
+-- AUTO_INCREMENT für Tabelle `t_ticket`
+--
+ALTER TABLE `t_ticket`
+  MODIFY `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=12;
+--
+-- AUTO_INCREMENT für Tabelle `t_user`
+--
+ALTER TABLE `t_user`
+  MODIFY `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=14;
+--
+-- Constraints der exportierten Tabellen
+--
+
+--
+-- Constraints der Tabelle `t_history`
+--
+ALTER TABLE `t_history`
+  ADD CONSTRAINT `fk_history_action_id` FOREIGN KEY (`action_id`) REFERENCES `t_action` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+  ADD CONSTRAINT `fk_history_status_id` FOREIGN KEY (`status_id`) REFERENCES `t_status` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+  ADD CONSTRAINT `fk_history_user_id` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
+
+--
+-- Constraints der Tabelle `t_text`
+--
+ALTER TABLE `t_text`
+  ADD CONSTRAINT `fk_t_user_text` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
+
+--
+-- Constraints der Tabelle `t_ticket`
+--
+ALTER TABLE `t_ticket`
+  ADD CONSTRAINT `fk_t_status` FOREIGN KEY (`status_id`) REFERENCES `t_status` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+  ADD CONSTRAINT `fk_t_user` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
+
+--
+-- Constraints der Tabelle `t_user`
+--
+ALTER TABLE `t_user`
+  ADD CONSTRAINT `fk_t_group` FOREIGN KEY (`group_id`) REFERENCES `t_group` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
+
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;