summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/setup/sat-01-schema.sql
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodulserver/setup/sat-01-schema.sql')
-rw-r--r--dozentenmodulserver/setup/sat-01-schema.sql548
1 files changed, 461 insertions, 87 deletions
diff --git a/dozentenmodulserver/setup/sat-01-schema.sql b/dozentenmodulserver/setup/sat-01-schema.sql
index 2f60b227..aa99a03c 100644
--- a/dozentenmodulserver/setup/sat-01-schema.sql
+++ b/dozentenmodulserver/setup/sat-01-schema.sql
@@ -1,26 +1,76 @@
+-- phpMyAdmin SQL Dump
+-- version 5.1.0
+-- https://www.phpmyadmin.net/
+--
+-- Host: 192.168.200.20
+-- Generation Time: May 20, 2021 at 09:55 AM
+-- Server version: 10.5.10-MariaDB-1:10.5.10+maria~focal
+-- PHP Version: 7.4.19
+
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+START TRANSACTION;
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 utf8 */;
+/*!40101 SET NAMES utf8mb4 */;
-CREATE DATABASE IF NOT EXISTS `sat` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+--
+-- Database: `sat`
+--
+CREATE DATABASE IF NOT EXISTS `sat` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `sat`;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `actionlog`
+--
+
+CREATE TABLE IF NOT EXISTS `actionlog` (
+ `actionid` int(11) NOT NULL AUTO_INCREMENT,
+ `dateline` bigint(20) NOT NULL,
+ `userid` char(36) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
+ `targetid` char(36) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
+ `description` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
+ PRIMARY KEY (`actionid`),
+ KEY `userid` (`userid`,`dateline`),
+ KEY `targetid` (`targetid`,`dateline`),
+ KEY `dateline` (`dateline`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `configuration`
+--
+
+CREATE TABLE IF NOT EXISTS `configuration` (
+ `parameter` varchar(100) CHARACTER SET ascii NOT NULL,
+ `value` blob NOT NULL,
+ PRIMARY KEY (`parameter`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `imagebase`
+--
+
CREATE TABLE IF NOT EXISTS `imagebase` (
`imagebaseid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`latestversionid` char(36) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
- `displayname` varchar(100) NOT NULL,
- `description` TEXT NULL DEFAULT NULL,
- `osid` INT NULL DEFAULT NULL,
- `virtid` VARCHAR(10) NULL DEFAULT NULL,
+ `displayname` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `description` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `osid` int(11) DEFAULT NULL,
+ `virtid` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`createtime` bigint(20) NOT NULL,
`updatetime` bigint(20) NOT NULL,
`ownerid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`updaterid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `sharemode` enum('LOCAL','PUBLISH','DOWNLOAD', 'FROZEN') NOT NULL,
+ `sharemode` enum('LOCAL','PUBLISH','DOWNLOAD','FROZEN') COLLATE utf8mb4_unicode_ci NOT NULL,
`istemplate` tinyint(1) NOT NULL,
`canlinkdefault` tinyint(1) NOT NULL,
`candownloaddefault` tinyint(1) NOT NULL,
@@ -34,12 +84,11 @@ CREATE TABLE IF NOT EXISTS `imagebase` (
KEY `latestversion_idx` (`latestversionid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-CREATE TABLE IF NOT EXISTS `imagetag` (
- `imagebaseid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `tagname` CHAR(32) NOT NULL,
- PRIMARY KEY (`imagebaseid`,`tagname`),
- KEY `tag_image` (`tagname`,`imagebaseid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `imageblock`
+--
CREATE TABLE IF NOT EXISTS `imageblock` (
`imageversionid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
@@ -51,6 +100,12 @@ CREATE TABLE IF NOT EXISTS `imageblock` (
KEY `checksums` (`blocksha1`,`blocksize`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `imagepermission`
+--
+
CREATE TABLE IF NOT EXISTS `imagepermission` (
`imagebaseid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`userid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
@@ -62,20 +117,39 @@ CREATE TABLE IF NOT EXISTS `imagepermission` (
KEY `fk_imagepermission_2_idx` (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `imagetag`
+--
+
+CREATE TABLE IF NOT EXISTS `imagetag` (
+ `imagebaseid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
+ `tagname` char(32) COLLATE utf8mb4_unicode_ci NOT NULL,
+ PRIMARY KEY (`imagebaseid`,`tagname`),
+ KEY `tag_image` (`tagname`,`imagebaseid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `imageversion`
+--
+
CREATE TABLE IF NOT EXISTS `imageversion` (
`imageversionid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`imagebaseid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`createtime` bigint(20) NOT NULL,
`expiretime` bigint(20) NOT NULL,
`filesize` bigint(20) NOT NULL,
- `filepath` varchar(200) NOT NULL,
+ `filepath` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
`uploaderid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`isrestricted` tinyint(1) NOT NULL,
`isvalid` tinyint(1) NOT NULL,
`isprocessed` tinyint(1) NOT NULL,
`mastersha1` binary(20) DEFAULT NULL,
- `virtualizerconfig` blob NULL DEFAULT NULL COMMENT 'Specific configuration of the virtualizer for this image. For vmware, this is basically a dump of the *.vmx.',
- `deletestate` ENUM( 'KEEP', 'SHOULD_DELETE', 'WANT_DELETE' ) CHARACTER SET ascii COLLATE ascii_bin NOT NULL DEFAULT 'KEEP',
+ `virtualizerconfig` blob DEFAULT NULL COMMENT 'Specific configuration of the virtualizer for this image. For vmware, this is basically a dump of the *.vmx.',
+ `deletestate` enum('KEEP','SHOULD_DELETE','WANT_DELETE') CHARACTER SET ascii COLLATE ascii_bin NOT NULL DEFAULT 'KEEP',
PRIMARY KEY (`imageversionid`),
KEY `version_access` (`imagebaseid`,`isvalid`,`createtime`),
KEY `fk_imageversion_2_idx` (`uploaderid`),
@@ -83,6 +157,12 @@ CREATE TABLE IF NOT EXISTS `imageversion` (
KEY `deletestate` (`deletestate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `imageversion_x_software`
+--
+
CREATE TABLE IF NOT EXISTS `imageversion_x_software` (
`imageversionid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`softwareid` int(11) NOT NULL,
@@ -90,34 +170,34 @@ CREATE TABLE IF NOT EXISTS `imageversion_x_software` (
KEY `fk_imageversion_x_software_2_idx` (`softwareid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-CREATE TABLE IF NOT EXISTS `software_x_tag` (
- `softwareid` int(11) NOT NULL,
- `tagname` CHAR(32) NOT NULL,
- PRIMARY KEY (`softwareid`,`tagname`),
- KEY `fk_software_x_tag_2_idx` (`tagname`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `lecture`
+--
CREATE TABLE IF NOT EXISTS `lecture` (
`lectureid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `displayname` varchar(100) NOT NULL,
- `description` text NOT NULL,
- `imageversionid` char(36) CHARACTER SET ascii COLLATE ascii_bin NULL COMMENT 'We reference a specific image version here, not the base image.\nOn update of an image, we update the lecture table for all matching lectures that used the current image version.\nThis way, a tutor can explicitly switch back to an older version of an image.',
- `autoupdate` tinyint(1) UNSIGNED NOT NULL DEFAULT '1',
- `isenabled` tinyint(1) UNSIGNED NOT NULL DEFAULT '1',
- `isprivate` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Only users from the lectureuser table can start this lecture',
+ `displayname` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `description` text COLLATE utf8mb4_unicode_ci NOT NULL,
+ `imageversionid` char(36) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL COMMENT 'We reference a specific image version here, not the base image.\nOn update of an image, we update the lecture table for all matching lectures that used the current image version.\nThis way, a tutor can explicitly switch back to an older version of an image.',
+ `autoupdate` tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
+ `isenabled` tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
+ `isprivate` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Only users from the lectureuser table can start this lecture',
+ `islocationprivate` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
`starttime` bigint(20) NOT NULL,
`endtime` bigint(20) NOT NULL,
- `lastused` bigint(20) NOT NULL DEFAULT '0',
- `usecount` int(11) NOT NULL DEFAULT '0',
+ `lastused` bigint(20) NOT NULL DEFAULT 0,
+ `usecount` int(11) NOT NULL DEFAULT 0,
`createtime` bigint(20) NOT NULL,
`updatetime` bigint(20) NOT NULL,
`ownerid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`updaterid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `runscript` text DEFAULT NULL,
- `nics` VARCHAR(200) CHARACTER SET ascii COLLATE ascii_bin NULL COMMENT 'Freeform text field for future extendability. Format is specified at application layer.',
- `netrules` text DEFAULT NULL COMMENT 'user defined firewall rules, applied at the linux base system.',
+ `runscript` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `nics` varchar(200) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL COMMENT 'Freeform text field for future extendability. Format is specified at application layer.',
+ `netrules` text COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'user defined firewall rules, applied at the linux base system.',
`isexam` tinyint(1) NOT NULL,
- `iswhitelistonly` tinyint(1) NOT NULL DEFAULT '0',
+ `iswhitelistonly` tinyint(1) NOT NULL DEFAULT 0,
`hasinternetaccess` tinyint(1) NOT NULL,
`hasusbaccess` tinyint(1) NOT NULL,
`caneditdefault` tinyint(1) NOT NULL,
@@ -129,6 +209,28 @@ CREATE TABLE IF NOT EXISTS `lecture` (
KEY `list_lookup` (`isenabled`,`isexam`,`isprivate`,`endtime`,`starttime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `lecturefilter`
+--
+
+CREATE TABLE IF NOT EXISTS `lecturefilter` (
+ `lectureid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
+ `filterpresetid` int(11) DEFAULT NULL,
+ `filtertype` varchar(24) CHARACTER SET ascii DEFAULT NULL,
+ `filterkey` varchar(24) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `filtervalue` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ KEY `lectureid` (`lectureid`,`filtertype`),
+ KEY `filterpresetid` (`filterpresetid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `lecturepermission`
+--
+
CREATE TABLE IF NOT EXISTS `lecturepermission` (
`lectureid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`userid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
@@ -138,6 +240,92 @@ CREATE TABLE IF NOT EXISTS `lecturepermission` (
KEY `fk_lecturepermission_2_idx` (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `lectureuser`
+--
+
+CREATE TABLE IF NOT EXISTS `lectureuser` (
+ `lectureid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
+ `userlogin` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL,
+ PRIMARY KEY (`lectureid`,`userlogin`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `lecture_x_location`
+--
+
+CREATE TABLE IF NOT EXISTS `lecture_x_location` (
+ `lectureid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
+ `locationid` int(11) NOT NULL,
+ PRIMARY KEY (`lectureid`,`locationid`),
+ KEY `locationid` (`locationid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `lecture_x_networkrule`
+--
+
+CREATE TABLE IF NOT EXISTS `lecture_x_networkrule` (
+ `lectureid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
+ `ruleid` int(11) NOT NULL,
+ PRIMARY KEY (`lectureid`,`ruleid`),
+ KEY `ruleid` (`ruleid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `lecture_x_runscript`
+--
+
+CREATE TABLE IF NOT EXISTS `lecture_x_runscript` (
+ `lectureid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
+ `runscriptid` int(11) NOT NULL,
+ PRIMARY KEY (`lectureid`,`runscriptid`),
+ KEY `runscriptid` (`runscriptid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `mailqueue`
+--
+
+CREATE TABLE IF NOT EXISTS `mailqueue` (
+ `mailid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
+ `userid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
+ `message` text NOT NULL,
+ `failcount` int(11) NOT NULL DEFAULT 0,
+ `dateline` bigint(20) NOT NULL,
+ PRIMARY KEY (`mailid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `networkshare`
+--
+
+CREATE TABLE IF NOT EXISTS `networkshare` (
+ `lectureid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
+ `sharepresetid` int(11) DEFAULT NULL,
+ `sharedata` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ KEY `sharepresetid` (`sharepresetid`),
+ KEY `fk_lectureid_1` (`lectureid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `operatingsystem`
+--
+
CREATE TABLE IF NOT EXISTS `operatingsystem` (
`osid` int(11) NOT NULL COMMENT 'Defined on the master server, so no auto_increment!',
`displayname` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
@@ -147,119 +335,305 @@ CREATE TABLE IF NOT EXISTS `operatingsystem` (
PRIMARY KEY (`osid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `organization`
+--
+
CREATE TABLE IF NOT EXISTS `organization` (
`organizationid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `displayname` varchar(255) NOT NULL,
- `canlogin` tinyint(1) NOT NULL DEFAULT '0',
+ `displayname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `canlogin` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`organizationid`),
KEY `loginkey` (`canlogin`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `os_x_virt`
+--
+
CREATE TABLE IF NOT EXISTS `os_x_virt` (
`osid` int(11) NOT NULL,
- `virtid` varchar(10) NOT NULL,
- `virtoskeyword` varchar(30) NOT NULL,
+ `virtid` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `virtoskeyword` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`osid`,`virtid`),
KEY `fk_os_x_virt_2_idx` (`virtid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `presetlecturefilter`
+--
+
+CREATE TABLE IF NOT EXISTS `presetlecturefilter` (
+ `filterid` int(11) NOT NULL AUTO_INCREMENT,
+ `filtertype` varchar(24) CHARACTER SET ascii NOT NULL,
+ `filtername` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `filterkey` varchar(24) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `filtervalue` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
+ PRIMARY KEY (`filterid`),
+ KEY `filtertype` (`filtertype`,`filtername`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `presetnetworkrule`
+--
+
+CREATE TABLE IF NOT EXISTS `presetnetworkrule` (
+ `ruleid` int(11) NOT NULL AUTO_INCREMENT,
+ `rulename` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `ruledata` text COLLATE utf8mb4_unicode_ci NOT NULL,
+ PRIMARY KEY (`ruleid`),
+ KEY `rulename` (`rulename`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `presetnetworkshare`
+--
+
+CREATE TABLE IF NOT EXISTS `presetnetworkshare` (
+ `shareid` int(11) NOT NULL AUTO_INCREMENT,
+ `sharename` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `sharedata` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `active` tinyint(1) NOT NULL DEFAULT 0,
+ PRIMARY KEY (`shareid`),
+ KEY `sharename` (`sharename`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `presetrunscript`
+--
+
+CREATE TABLE IF NOT EXISTS `presetrunscript` (
+ `runscriptid` int(11) NOT NULL AUTO_INCREMENT,
+ `scriptname` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `content` text COLLATE utf8mb4_unicode_ci NOT NULL,
+ `extension` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `visibility` tinyint(1) NOT NULL COMMENT '0 = hidden, 1 = normal, 2 = minimized',
+ `passcreds` tinyint(1) NOT NULL,
+ `isglobal` tinyint(1) NOT NULL COMMENT 'Whether to apply this script to all lectures',
+ PRIMARY KEY (`runscriptid`),
+ KEY `isglobal` (`isglobal`),
+ KEY `scriptname` (`scriptname`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `presetrunscript_x_operatingsystem`
+--
+
+CREATE TABLE IF NOT EXISTS `presetrunscript_x_operatingsystem` (
+ `runscriptid` int(11) NOT NULL,
+ `osid` int(11) NOT NULL,
+ PRIMARY KEY (`runscriptid`,`osid`),
+ KEY `osid` (`osid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `software`
+--
+
CREATE TABLE IF NOT EXISTS `software` (
`softwareid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'This ID is used internally only, it never leaves the satellite.',
- `softwarestring` varchar(120) NOT NULL,
- `isrestricted` TINYINT(1) NOT NULL,
- `isrestrictedoverride` TINYINT(1) NULL,
+ `softwarestring` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `isrestricted` tinyint(1) NOT NULL,
+ `isrestrictedoverride` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`softwareid`),
UNIQUE KEY `softwarestring_UNIQUE` (`softwarestring`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `software_x_tag`
+--
+
+CREATE TABLE IF NOT EXISTS `software_x_tag` (
+ `softwareid` int(11) NOT NULL,
+ `tagname` char(32) COLLATE utf8mb4_unicode_ci NOT NULL,
+ PRIMARY KEY (`softwareid`,`tagname`),
+ KEY `fk_software_x_tag_2_idx` (`tagname`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `user`
+--
+
CREATE TABLE IF NOT EXISTS `user` (
`userid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `firstname` varchar(50) NOT NULL,
- `lastname` varchar(50) NOT NULL,
- `email` varchar(50) NOT NULL,
+ `firstname` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `lastname` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`organizationid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`lastlogin` bigint(20) DEFAULT NULL,
- `canlogin` tinyint(1) NOT NULL DEFAULT '0',
- `issuperuser` tinyint(1) NOT NULL DEFAULT '0',
- `emailnotifications` tinyint(1) NOT NULL DEFAULT '1',
+ `canlogin` tinyint(1) NOT NULL DEFAULT 0,
+ `issuperuser` tinyint(1) NOT NULL DEFAULT 0,
+ `emailnotifications` tinyint(1) NOT NULL DEFAULT 1,
PRIMARY KEY (`userid`),
KEY `fk_user_1_idx` (`organizationid`),
KEY `mail_idx` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `virtualizer`
+--
+
CREATE TABLE IF NOT EXISTS `virtualizer` (
- `virtid` varchar(10) NOT NULL,
- `virtname` varchar(20) NOT NULL,
+ `virtid` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `virtname` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`virtid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-CREATE TABLE IF NOT EXISTS `lectureuser` (
- `lectureid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `userlogin` VARCHAR(45) NOT NULL,
- PRIMARY KEY (`lectureid`, `userlogin`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+--
+-- Constraints for dumped tables
+--
-CREATE TABLE IF NOT EXISTS `configuration` (
- `parameter` varchar(100) CHARACTER SET ascii NOT NULL,
- `value` blob NOT NULL,
- PRIMARY KEY (`parameter`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-CREATE TABLE IF NOT EXISTS `mailqueue` (
- `mailid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `userid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `message` text NOT NULL,
- `failcount` int(11) NOT NULL DEFAULT '0',
- `dateline` bigint(20) NOT NULL,
- PRIMARY KEY (`mailid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-ALTER TABLE `lectureuser`
- ADD CONSTRAINT `fk_lectureuser_1` FOREIGN KEY (`lectureid`) REFERENCES `sat`.`lecture` (`lectureid`) ON DELETE CASCADE ON UPDATE CASCADE;
+--
+-- Constraints for table `actionlog`
+--
+ALTER TABLE `actionlog`
+ ADD CONSTRAINT `actionlog_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`) ON DELETE SET NULL ON UPDATE CASCADE;
+--
+-- Constraints for table `imagebase`
+--
ALTER TABLE `imagebase`
+ ADD CONSTRAINT `fk_imagebase_1` FOREIGN KEY (`virtid`) REFERENCES `virtualizer` (`virtid`) ON UPDATE CASCADE,
ADD CONSTRAINT `fk_imagebase_os` FOREIGN KEY (`osid`) REFERENCES `operatingsystem` (`osid`),
ADD CONSTRAINT `fk_imagebase_owner` FOREIGN KEY (`ownerid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE,
ADD CONSTRAINT `fk_imagebase_updater` FOREIGN KEY (`updaterid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE,
- ADD CONSTRAINT `fk_imagebase_1` FOREIGN KEY (`virtid`) REFERENCES `virtualizer` (`virtid`) ON UPDATE CASCADE,
ADD CONSTRAINT `latestversion` FOREIGN KEY (`latestversionid`) REFERENCES `imageversion` (`imageversionid`) ON UPDATE CASCADE;
-ALTER TABLE `imagetag`
- ADD CONSTRAINT `fk_imagetag_1` FOREIGN KEY (`imagebaseid`) REFERENCES `imagebase` (`imagebaseid`) ON UPDATE CASCADE ON DELETE CASCADE;
-
+--
+-- Constraints for table `imageblock`
+--
ALTER TABLE `imageblock`
- ADD CONSTRAINT `fk_imageblocksha1_1` FOREIGN KEY (`imageversionid`) REFERENCES `imageversion` (`imageversionid`) ON UPDATE CASCADE ON DELETE CASCADE;
+ ADD CONSTRAINT `fk_imageblocksha1_1` FOREIGN KEY (`imageversionid`) REFERENCES `imageversion` (`imageversionid`) ON DELETE CASCADE ON UPDATE CASCADE;
+--
+-- Constraints for table `imagepermission`
+--
ALTER TABLE `imagepermission`
- ADD CONSTRAINT `fk_imagepermission_1` FOREIGN KEY (`imagebaseid`) REFERENCES `imagebase` (`imagebaseid`) ON UPDATE CASCADE ON DELETE CASCADE,
- ADD CONSTRAINT `fk_imagepermission_2` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE ON DELETE CASCADE;
+ ADD CONSTRAINT `fk_imagepermission_1` FOREIGN KEY (`imagebaseid`) REFERENCES `imagebase` (`imagebaseid`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `fk_imagepermission_2` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`) ON DELETE CASCADE ON UPDATE CASCADE;
+--
+-- Constraints for table `imagetag`
+--
+ALTER TABLE `imagetag`
+ ADD CONSTRAINT `fk_imagetag_1` FOREIGN KEY (`imagebaseid`) REFERENCES `imagebase` (`imagebaseid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `imageversion`
+--
ALTER TABLE `imageversion`
ADD CONSTRAINT `fk_imageversion_base` FOREIGN KEY (`imagebaseid`) REFERENCES `imagebase` (`imagebaseid`) ON UPDATE CASCADE,
ADD CONSTRAINT `fk_imageversion_creator` FOREIGN KEY (`uploaderid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE;
+--
+-- Constraints for table `imageversion_x_software`
+--
ALTER TABLE `imageversion_x_software`
- ADD CONSTRAINT `fk_imageversion_x_software_1` FOREIGN KEY (`imageversionid`) REFERENCES `imageversion` (`imageversionid`) ON UPDATE CASCADE ON DELETE CASCADE,
- ADD CONSTRAINT `fk_imageversion_x_software_2` FOREIGN KEY (`softwareid`) REFERENCES `software` (`softwareid`) ON UPDATE CASCADE ON DELETE CASCADE;
+ ADD CONSTRAINT `fk_imageversion_x_software_1` FOREIGN KEY (`imageversionid`) REFERENCES `imageversion` (`imageversionid`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `fk_imageversion_x_software_2` FOREIGN KEY (`softwareid`) REFERENCES `software` (`softwareid`) ON DELETE CASCADE ON UPDATE CASCADE;
+--
+-- Constraints for table `lecture`
+--
ALTER TABLE `lecture`
ADD CONSTRAINT `fk_lecture_image` FOREIGN KEY (`imageversionid`) REFERENCES `imageversion` (`imageversionid`) ON UPDATE CASCADE,
ADD CONSTRAINT `fk_lecture_owner` FOREIGN KEY (`ownerid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE,
ADD CONSTRAINT `fk_lecture_updater` FOREIGN KEY (`updaterid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE;
+--
+-- Constraints for table `lecturefilter`
+--
+ALTER TABLE `lecturefilter`
+ ADD CONSTRAINT `filterpresetid` FOREIGN KEY (`filterpresetid`) REFERENCES `presetlecturefilter` (`filterid`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `lectureid` FOREIGN KEY (`lectureid`) REFERENCES `lecture` (`lectureid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `lecturepermission`
+--
ALTER TABLE `lecturepermission`
- ADD CONSTRAINT `fk_lecturepermission_1` FOREIGN KEY (`lectureid`) REFERENCES `lecture` (`lectureid`) ON UPDATE CASCADE ON DELETE CASCADE,
- ADD CONSTRAINT `fk_lecturepermission_2` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE ON DELETE CASCADE;
+ ADD CONSTRAINT `fk_lecturepermission_1` FOREIGN KEY (`lectureid`) REFERENCES `lecture` (`lectureid`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `fk_lecturepermission_2` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`) ON DELETE CASCADE ON UPDATE CASCADE;
+--
+-- Constraints for table `lectureuser`
+--
+ALTER TABLE `lectureuser`
+ ADD CONSTRAINT `fk_lectureuser_1` FOREIGN KEY (`lectureid`) REFERENCES `lecture` (`lectureid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `lecture_x_location`
+--
+ALTER TABLE `lecture_x_location`
+ ADD CONSTRAINT `lecture_x_location_ibfk_1` FOREIGN KEY (`lectureid`) REFERENCES `lecture` (`lectureid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `lecture_x_networkrule`
+--
+ALTER TABLE `lecture_x_networkrule`
+ ADD CONSTRAINT `lecture_x_networkrule_ibfk_1` FOREIGN KEY (`lectureid`) REFERENCES `lecture` (`lectureid`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `lecture_x_networkrule_ibfk_2` FOREIGN KEY (`ruleid`) REFERENCES `presetnetworkrule` (`ruleid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `lecture_x_runscript`
+--
+ALTER TABLE `lecture_x_runscript`
+ ADD CONSTRAINT `lecture_runscript` FOREIGN KEY (`lectureid`) REFERENCES `lecture` (`lectureid`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `lecture_x_runscript_ibfk_1` FOREIGN KEY (`runscriptid`) REFERENCES `presetrunscript` (`runscriptid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `networkshare`
+--
+ALTER TABLE `networkshare`
+ ADD CONSTRAINT `fk_lectureid_1` FOREIGN KEY (`lectureid`) REFERENCES `lecture` (`lectureid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `os_x_virt`
+--
ALTER TABLE `os_x_virt`
- ADD CONSTRAINT `fk_os_x_virt_1` FOREIGN KEY (`osid`) REFERENCES `operatingsystem` (`osid`) ON UPDATE CASCADE ON DELETE CASCADE,
- ADD CONSTRAINT `fk_os_x_virt_2` FOREIGN KEY (`virtid`) REFERENCES `virtualizer` (`virtid`) ON UPDATE CASCADE ON DELETE CASCADE;
+ ADD CONSTRAINT `fk_os_x_virt_1` FOREIGN KEY (`osid`) REFERENCES `operatingsystem` (`osid`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `fk_os_x_virt_2` FOREIGN KEY (`virtid`) REFERENCES `virtualizer` (`virtid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `presetrunscript_x_operatingsystem`
+--
+ALTER TABLE `presetrunscript_x_operatingsystem`
+ ADD CONSTRAINT `osid` FOREIGN KEY (`osid`) REFERENCES `operatingsystem` (`osid`) ON DELETE CASCADE ON UPDATE CASCADE,
+ ADD CONSTRAINT `runscriptid` FOREIGN KEY (`runscriptid`) REFERENCES `presetrunscript` (`runscriptid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+--
+-- Constraints for table `software_x_tag`
+--
+ALTER TABLE `software_x_tag`
+ ADD CONSTRAINT `fk_software_x_tag_1` FOREIGN KEY (`softwareid`) REFERENCES `software` (`softwareid`) ON DELETE CASCADE ON UPDATE CASCADE;
+--
+-- Constraints for table `user`
+--
ALTER TABLE `user`
ADD CONSTRAINT `fk_user_1` FOREIGN KEY (`organizationid`) REFERENCES `organization` (`organizationid`) ON UPDATE CASCADE;
-
-ALTER TABLE `software_x_tag`
- ADD CONSTRAINT `fk_software_x_tag_1` FOREIGN KEY (`softwareid`) REFERENCES `software` (`softwareid`) ON UPDATE CASCADE ON DELETE CASCADE;
+COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;