Moving the database to a subsystem (#16480)

* dbcorev2

* qdel stuff

* New DB code

* Fixed comments

* Fixed lower define limit

* Added missing hooks

* Added missing qdels

* Fixed statistics sql
This commit is contained in:
Selis
2025-01-27 15:59:56 +01:00
committed by GitHub
parent 7a080a544f
commit 8661955bfb
37 changed files with 912 additions and 467 deletions
+104 -1
View File
@@ -1,3 +1,4 @@
-- Table structure for table `erro_admin`
CREATE TABLE `erro_admin` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ckey` varchar(32) NOT NULL,
@@ -7,6 +8,7 @@ CREATE TABLE `erro_admin` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_admin_log`
CREATE TABLE `erro_admin_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`datetime` datetime NOT NULL,
@@ -16,6 +18,7 @@ CREATE TABLE `erro_admin_log` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_ban`
CREATE TABLE `erro_ban` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bantime` datetime NOT NULL,
@@ -43,6 +46,18 @@ CREATE TABLE `erro_ban` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_connection_log`
CREATE TABLE `erro_connection_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`datetime` datetime NOT NULL,
`serverip` varchar(32) NOT NULL,
`ckey` varchar(32) NOT NULL,
`ip` varchar(32) NOT NULL,
`computerid` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_feedback`
CREATE TABLE `erro_feedback` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`time` datetime NOT NULL,
@@ -53,6 +68,7 @@ CREATE TABLE `erro_feedback` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_player`
CREATE TABLE `erro_player` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ckey` varchar(32) NOT NULL,
@@ -67,6 +83,7 @@ CREATE TABLE `erro_player` (
KEY `discord_id` (`discord_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_poll_option`
CREATE TABLE `erro_poll_option` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pollid` int(11) NOT NULL,
@@ -80,6 +97,7 @@ CREATE TABLE `erro_poll_option` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_poll_question`
CREATE TABLE `erro_poll_question` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`polltype` varchar(16) NOT NULL DEFAULT 'OPTION',
@@ -90,6 +108,7 @@ CREATE TABLE `erro_poll_question` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_poll_textreply`
CREATE TABLE `erro_poll_textreply` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`datetime` datetime NOT NULL,
@@ -101,6 +120,7 @@ CREATE TABLE `erro_poll_textreply` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_poll_vote`
CREATE TABLE `erro_poll_vote` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`datetime` datetime NOT NULL,
@@ -113,6 +133,7 @@ CREATE TABLE `erro_poll_vote` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `erro_privacy`
CREATE TABLE `erro_privacy` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`datetime` datetime NOT NULL,
@@ -121,10 +142,92 @@ CREATE TABLE `erro_privacy` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `death`
CREATE TABLE `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=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `karma`
CREATE TABLE `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=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `karmatotals`
CREATE TABLE `karmatotals` (
`id` INT(11) NOT NULL AUTO_INCREMENT ,
`byondkey` TEXT NOT NULL ,
`karma` INT(11) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `library`
CREATE TABLE `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=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `population`
CREATE TABLE `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=InnoDB DEFAULT CHARSET=latin1 ;
-- Table structure for table `vr_player_hours`
CREATE TABLE `vr_player_hours` (
`ckey` varchar(32) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`department` varchar(64) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`hours` double NOT NULL,
`total_hours` double NOT NULL DEFAULT '0',
PRIMARY KEY (`ckey`,`department`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `round` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`initialize_datetime` DATETIME NOT NULL,
`start_datetime` DATETIME NULL,
`shutdown_datetime` DATETIME NULL,
`end_datetime` DATETIME NULL,
`server_ip` INT(10) UNSIGNED NOT NULL,
`server_port` SMALLINT(5) UNSIGNED NOT NULL,
`commit_hash` CHAR(40) NULL,
`game_mode` VARCHAR(32) NULL,
`game_mode_result` VARCHAR(64) NULL,
`end_state` VARCHAR(64) NULL,
`shuttle_name` VARCHAR(64) NULL,
`map_name` VARCHAR(32) NULL,
`station_name` VARCHAR(80) NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;