diff --git a/SQL/00_polaris.sql b/SQL/00_polaris.sql new file mode 100644 index 00000000000..6e32c257bc5 --- /dev/null +++ b/SQL/00_polaris.sql @@ -0,0 +1,198 @@ +#### Enabling this line is *inadvisable*. +# DROP DATABASE IF EXISTS polaris; + +#### Enabling these lines is for testing. +#### Create a user with better credentials or suffer. +# DROP USER IF EXISTS 'polaris'@'%'; +# CREATE USER 'polaris'@'%' IDENTIFIED BY 'polaris'; +# GRANT ALL PRIVILEGES ON polaris.* TO 'polaris'@'%'; + + +#### Schema building begins here. +CREATE DATABASE IF NOT EXISTS polaris + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_unicode_520_ci; + +USE polaris; + + +CREATE TABLE IF NOT EXISTS admin ( + id INT NOT NULL AUTO_INCREMENT, + ckey VARCHAR(32) NOT NULL, + rank VARCHAR(32) NOT NULL DEFAULT 'Administrator', + level INT NOT NULL DEFAULT 0, + flags INT NOT NULL DEFAULT 0, + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS admin_log ( + id INT NOT NULL AUTO_INCREMENT, + datetime DATETIME NOT NULL, + adminckey VARCHAR(32) NOT NULL, + adminip VARCHAR(18) NOT NULL, + log TEXT NOT NULL, + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS ban ( + id INT NOT NULL AUTO_INCREMENT, + bantime DATETIME NOT NULL, + serverip VARCHAR(18) NOT NULL, + reason TEXT NOT NULL, + job VARCHAR(32), + duration INT NOT NULL, + rounds INT, + expiration_time DATETIME NOT NULL, + ckey VARCHAR(32) NOT NULL, + computerid VARCHAR(32) NOT NULL, + ip VARCHAR(18) NOT NULL, + a_ckey VARCHAR(32) NOT NULL, + a_computerid VARCHAR(32) NOT NULL, + a_ip VARCHAR(18) NOT NULL, + who TEXT NOT NULL, + adminwho TEXT NOT NULL, + edits TEXT, + unbanned BOOLEAN, + unbanned_datetime DATETIME, + unbanned_ckey VARCHAR(32), + unbanned_computerid VARCHAR(32), + unbanned_ip VARCHAR(18), + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS feedback ( + id INT NOT NULL AUTO_INCREMENT, + time DATETIME NOT NULL, + round_id INT NOT NULL, + var_name VARCHAR(32) NOT NULL, + var_value INT, + details TEXT, + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS player ( + id INT NOT NULL AUTO_INCREMENT, + ckey VARCHAR(32) NOT NULL, + firstseen DATETIME NOT NULL, + lastseen DATETIME NOT NULL, + ip VARCHAR(18) NOT NULL, + computerid VARCHAR(32) NOT NULL, + lastadminrank VARCHAR(32) NOT NULL DEFAULT 'Player', + + PRIMARY KEY (id), + UNIQUE (ckey) +); + + +CREATE TABLE IF NOT EXISTS poll_option ( + id INT NOT NULL AUTO_INCREMENT, + pollid INT NOT NULL, + text VARCHAR(255) NOT NULL, + percentagecalc BOOLEAN NOT NULL DEFAULT 1, + minval INT, + maxval INT, + descmin VARCHAR(32), + descmid VARCHAR(32), + descmax VARCHAR(32), + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS poll_question ( + id INT NOT NULL AUTO_INCREMENT, + polltype VARCHAR(16) NOT NULL DEFAULT 'OPTION', + starttime DATETIME NOT NULL, + endtime DATETIME NOT NULL, + question VARCHAR(255) NOT NULL, + adminonly BOOLEAN DEFAULT 0, + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS poll_textreply ( + id INT NOT NULL AUTO_INCREMENT, + datetime DATETIME NOT NULL, + pollid INT NOT NULL, + ckey VARCHAR(32) NOT NULL, + ip VARCHAR(18) NOT NULL, + replytext TEXT NOT NULL, + adminrank VARCHAR(32) NOT NULL DEFAULT 'Player', + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS poll_vote ( + id INT NOT NULL AUTO_INCREMENT, + DATETIME DATETIME NOT NULL, + pollid INT NOT NULL, + optionid INT NOT NULL, + ckey VARCHAR(32) NOT NULL, + ip VARCHAR(18) NOT NULL, + adminrank VARCHAR(32) NOT NULL, + rating INT, + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS privacy ( + id INT NOT NULL AUTO_INCREMENT, + datetime DATETIME NOT NULL, + ckey VARCHAR(32) NOT NULL, + option VARCHAR(128) NOT NULL, + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS death ( + id INT NOT NULL AUTO_INCREMENT, + pod TEXT NOT NULL, + coord TEXT NOT NULL, + tod DATETIME NOT NULL, + job TEXT NOT NULL, + special TEXT NOT NULL, + name TEXT NOT NULL, + byondkey TEXT NOT NULL, + laname TEXT NOT NULL, + lakey TEXT NOT NULL, + gender TEXT NOT NULL, + bruteloss INT NOT NULL, + brainloss INT NOT NULL, + fireloss INT NOT NULL, + oxyloss INT NOT NULL, + + PRIMARY KEY (id) +); + + +CREATE TABLE IF NOT EXISTS library ( + id INT NOT NULL AUTO_INCREMENT, + author TEXT NOT NULL, + title TEXT NOT NULL, + content TEXT NOT NULL, + category TEXT NOT NULL, + + PRIMARY KEY (id) +); + + +CREATE TABLE if NOT EXISTS population ( + id INT NOT NULL AUTO_INCREMENT, + time DATETIME NOT NULL, + playercount INT, + admincount INT, + + PRIMARY KEY (id) +); diff --git a/SQL/feedback_schema.sql b/SQL/feedback_schema.sql deleted file mode 100644 index 3fa0f7080dd..00000000000 --- a/SQL/feedback_schema.sql +++ /dev/null @@ -1,120 +0,0 @@ -CREATE TABLE `erro_admin` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, - `rank` varchar(32) NOT NULL DEFAULT 'Administrator', - `level` int(2) NOT NULL DEFAULT '0', - `flags` int(16) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; - -CREATE TABLE `erro_admin_log` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `adminckey` varchar(32) NOT NULL, - `adminip` varchar(18) NOT NULL, - `log` text NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; - -CREATE TABLE `erro_ban` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `bantime` datetime NOT NULL, - `serverip` varchar(32) NOT NULL, - `bantype` varchar(32) NOT NULL, - `reason` text NOT NULL, - `job` varchar(32) DEFAULT NULL, - `duration` int(11) NOT NULL, - `rounds` int(11) DEFAULT NULL, - `expiration_time` datetime NOT NULL, - `ckey` varchar(32) NOT NULL, - `computerid` varchar(32) NOT NULL, - `ip` varchar(32) NOT NULL, - `a_ckey` varchar(32) NOT NULL, - `a_computerid` varchar(32) NOT NULL, - `a_ip` varchar(32) NOT NULL, - `who` text NOT NULL, - `adminwho` text NOT NULL, - `edits` text, - `unbanned` tinyint(1) DEFAULT NULL, - `unbanned_datetime` datetime DEFAULT NULL, - `unbanned_ckey` varchar(32) DEFAULT NULL, - `unbanned_computerid` varchar(32) DEFAULT NULL, - `unbanned_ip` varchar(32) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; - -CREATE TABLE `erro_feedback` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `time` datetime NOT NULL, - `round_id` int(8) NOT NULL, - `var_name` varchar(32) NOT NULL, - `var_value` int(16) DEFAULT NULL, - `details` text, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 ; - -CREATE TABLE `erro_player` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, - `firstseen` datetime NOT NULL, - `lastseen` datetime NOT NULL, - `ip` varchar(18) NOT NULL, - `computerid` varchar(32) NOT NULL, - `lastadminrank` varchar(32) NOT NULL DEFAULT 'Player', - PRIMARY KEY (`id`), - UNIQUE KEY `ckey` (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; - -CREATE TABLE `erro_poll_option` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `pollid` int(11) NOT NULL, - `text` varchar(255) NOT NULL, - `percentagecalc` tinyint(1) NOT NULL DEFAULT '1', - `minval` int(3) DEFAULT NULL, - `maxval` int(3) DEFAULT NULL, - `descmin` varchar(32) DEFAULT NULL, - `descmid` varchar(32) DEFAULT NULL, - `descmax` varchar(32) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; - -CREATE TABLE `erro_poll_question` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `polltype` varchar(16) NOT NULL DEFAULT 'OPTION', - `starttime` datetime NOT NULL, - `endtime` datetime NOT NULL, - `question` varchar(255) NOT NULL, - `adminonly` tinyint(1) DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; - -CREATE TABLE `erro_poll_textreply` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `pollid` int(11) NOT NULL, - `ckey` varchar(32) NOT NULL, - `ip` varchar(18) NOT NULL, - `replytext` text NOT NULL, - `adminrank` varchar(32) NOT NULL DEFAULT 'Player', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; - -CREATE TABLE `erro_poll_vote` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `pollid` int(11) NOT NULL, - `optionid` int(11) NOT NULL, - `ckey` varchar(255) NOT NULL, - `ip` varchar(16) NOT NULL, - `adminrank` varchar(32) NOT NULL, - `rating` int(2) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; - -CREATE TABLE `erro_privacy` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `ckey` varchar(32) NOT NULL, - `option` varchar(128) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; \ No newline at end of file diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql deleted file mode 100644 index b7e2e501ce1..00000000000 --- a/SQL/tgstation_schema.sql +++ /dev/null @@ -1,100 +0,0 @@ -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 ; -CREATE SCHEMA IF NOT EXISTS `tgstation` DEFAULT CHARACTER SET latin1 ; -USE `mydb` ; -USE `tgstation` ; - --- ----------------------------------------------------- --- Table `tgstation`.`death` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `tgstation`.`death` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `pod` TEXT NOT NULL COMMENT 'Place of death' , - `coord` TEXT NOT NULL COMMENT 'X, Y, Z POD' , - `tod` DATETIME NOT NULL COMMENT 'Time of death' , - `job` TEXT NOT NULL , - `special` TEXT NOT NULL , - `name` TEXT NOT NULL , - `byondkey` TEXT NOT NULL , - `laname` TEXT NOT NULL COMMENT 'Last attacker name' , - `lakey` TEXT NOT NULL COMMENT 'Last attacker key' , - `gender` TEXT NOT NULL , - `bruteloss` INT(11) NOT NULL , - `brainloss` INT(11) NOT NULL , - `fireloss` INT(11) NOT NULL , - `oxyloss` INT(11) NOT NULL , - PRIMARY KEY (`id`) ) -ENGINE = MyISAM -AUTO_INCREMENT = 3409 -DEFAULT CHARACTER SET = latin1; - - --- ----------------------------------------------------- --- Table `tgstation`.`karma` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `tgstation`.`karma` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `spendername` TEXT NOT NULL , - `spenderkey` TEXT NOT NULL , - `receivername` TEXT NOT NULL , - `receiverkey` TEXT NOT NULL , - `receiverrole` TEXT NOT NULL , - `receiverspecial` TEXT NOT NULL , - `isnegative` TINYINT(1) NOT NULL , - `spenderip` TEXT NOT NULL , - `time` DATETIME NOT NULL , - PRIMARY KEY (`id`) ) -ENGINE = MyISAM -AUTO_INCREMENT = 943 -DEFAULT CHARACTER SET = latin1; - - --- ----------------------------------------------------- --- Table `tgstation`.`karmatotals` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `tgstation`.`karmatotals` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `byondkey` TEXT NOT NULL , - `karma` INT(11) NOT NULL , - PRIMARY KEY (`id`) ) -ENGINE = MyISAM -AUTO_INCREMENT = 244 -DEFAULT CHARACTER SET = latin1; - - --- ----------------------------------------------------- --- Table `tgstation`.`library` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `tgstation`.`library` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `author` TEXT NOT NULL , - `title` TEXT NOT NULL , - `content` TEXT NOT NULL , - `category` TEXT NOT NULL , - PRIMARY KEY (`id`) ) -ENGINE = MyISAM -AUTO_INCREMENT = 184 -DEFAULT CHARACTER SET = latin1; - - --- ----------------------------------------------------- --- Table `tgstation`.`population` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `tgstation`.`population` ( - `id` INT(11) NOT NULL AUTO_INCREMENT , - `playercount` INT(11) NULL DEFAULT NULL , - `admincount` INT(11) NULL DEFAULT NULL , - `time` DATETIME NOT NULL , - PRIMARY KEY (`id`) ) -ENGINE = MyISAM -AUTO_INCREMENT = 2544 -DEFAULT CHARACTER SET = latin1; - - - -SET SQL_MODE=@OLD_SQL_MODE; -SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; -SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;