From b08d5ed03d8d3e65d61e77530cde260dfecc2c3c Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 20 Oct 2020 13:20:17 -0700 Subject: [PATCH 01/23] Database indexing & table cleanup --- SQL/paradise_schema.sql | 25 +++++++++++++++++++++++ SQL/paradise_schema_prefixed.sql | 25 +++++++++++++++++++++++ SQL/updates/13-14.sql | 35 ++++++++++++++++++++++++++++++++ code/__DEFINES/misc.dm | 2 +- config/example/dbconfig.txt | 2 +- 5 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 SQL/updates/13-14.sql diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index ead94c0ec9a..76306f6117a 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -98,6 +98,7 @@ CREATE TABLE `customuseritems` ( `cuiJobMask` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `customuseritems` ADD INDEX(`cuiCKey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -143,6 +144,7 @@ CREATE TABLE `donators` ( `active` boolean, PRIMARY KEY (`patreon_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE `donators` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; @@ -161,6 +163,7 @@ CREATE TABLE `admin` ( `flags` int(16) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `admin` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -178,6 +181,7 @@ CREATE TABLE `admin_log` ( `log` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `admin_log` ADD INDEX(`adminckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -422,6 +426,8 @@ CREATE TABLE `library` ( `flagged` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=929 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `library` ADD INDEX(`ckey`); +ALTER TABLE `library` ADD INDEX(`flagged`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -503,6 +509,7 @@ CREATE TABLE `notes` ( `crew_playtime` mediumint(8) UNSIGNED DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `notes` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -560,6 +567,7 @@ CREATE TABLE `oauth_tokens` ( `token` varchar(32) NOT NULL, PRIMARY KEY (`token`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; @@ -590,6 +598,9 @@ CREATE TABLE `connection_log` ( `computerid` varchar(32) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `connection_log` ADD INDEX(`ckey`); +ALTER TABLE `connection_log` ADD INDEX(`ip`); +ALTER TABLE `connection_log` ADD INDEX(`computerid`); -- -- Table structure for table `changelog` @@ -604,3 +615,17 @@ CREATE TABLE `changelog` ( `cl_entry` TEXT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- +-- Table structure for table `ip2group` +-- +DROP TABLE IF EXISTS `ip2group`; +CREATE TABLE `ip2group` +( + `ip` varchar (18) NOT NULL, + `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, + `groupstr` varchar (32) NOT NULL DEFAULT '', + PRIMARY KEY (`ip`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `ip2group` ADD INDEX(`groupstr`); + diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index c8589a4c74c..a9dcddaeac9 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -98,6 +98,7 @@ CREATE TABLE `SS13_customuseritems` ( `cuiJobMask` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_customuseritems` ADD INDEX(`cuiCKey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -143,6 +144,7 @@ CREATE TABLE `SS13_donators` ( `active` boolean, PRIMARY KEY (`patreon_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE `SS13_donators` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -160,6 +162,7 @@ CREATE TABLE `SS13_admin` ( `flags` int(16) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_admin` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -177,6 +180,7 @@ CREATE TABLE `SS13_admin_log` ( `log` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_admin_log` ADD INDEX(`adminckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -421,6 +425,8 @@ CREATE TABLE `SS13_library` ( `flagged` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=929 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_library` ADD INDEX(`ckey`); +ALTER TABLE `SS13_library` ADD INDEX(`flagged`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -502,6 +508,7 @@ CREATE TABLE `SS13_notes` ( `crew_playtime` mediumint(8) UNSIGNED DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_notes` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -559,6 +566,7 @@ CREATE TABLE `SS13_oauth_tokens` ( `token` varchar(32) NOT NULL, PRIMARY KEY (`token`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_oauth_tokens` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -587,6 +595,9 @@ CREATE TABLE `SS13_connection_log` ( `computerid` varchar(32) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_connection_log` ADD INDEX(`ckey`); +ALTER TABLE `SS13_connection_log` ADD INDEX(`ip`); +ALTER TABLE `SS13_connection_log` ADD INDEX(`computerid`); -- -- Table structure for table `SS13_changelog` @@ -601,3 +612,17 @@ CREATE TABLE `SS13_changelog` ( `cl_entry` TEXT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- +-- Table structure for table `ip2group` +-- +DROP TABLE IF EXISTS `SS13_ip2group`; +CREATE TABLE `SS13_ip2group` +( + `ip` varchar (18) NOT NULL, + `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, + `groupstr` varchar (32) NOT NULL DEFAULT '', + PRIMARY KEY (`ip`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_ip2group` ADD INDEX(`groupstr`); + diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql new file mode 100644 index 00000000000..fbd703de47c --- /dev/null +++ b/SQL/updates/13-14.sql @@ -0,0 +1,35 @@ +#Updating the SQL from version 13 to version 14. -Kyet + + +# Add new tables used by backend tooling + +CREATE TABLE `ip2group` +( + `ip` varchar (18) NOT NULL, + `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, + `groupstr` varchar (32) NOT NULL DEFAULT '', + PRIMARY KEY (`ip`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `ip2group` ADD INDEX(`groupstr`); + + +# Delete tables that already exist but are not used anywhere in either game or backend code + +DROP TABLE IF EXISTS `erro_privacy`; +DROP TABLE IF EXISTS `population`; + + +# Add search indexes to make the most common DB queries faster + +ALTER TABLE `admin` ADD INDEX(`ckey`); +ALTER TABLE `admin_log` ADD INDEX(`adminckey`); +ALTER TABLE `connection_log` ADD INDEX(`ckey`); +ALTER TABLE `connection_log` ADD INDEX(`ip`); +ALTER TABLE `connection_log` ADD INDEX(`computerid`); +ALTER TABLE `customuseritems` ADD INDEX(`cuiCKey`); +ALTER TABLE `donators` ADD INDEX(`ckey`); +ALTER TABLE `library` ADD INDEX(`ckey`); +ALTER TABLE `library` ADD INDEX(`flagged`); +ALTER TABLE `notes` ADD INDEX(`ckey`); +ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); + diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 4f9f1ae4408..418dd7f4314 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -363,7 +363,7 @@ #define INVESTIGATE_BOMB "bombs" // The SQL version required by this version of the code -#define SQL_VERSION 13 +#define SQL_VERSION 14 // Vending machine stuff #define CAT_NORMAL 1 diff --git a/config/example/dbconfig.txt b/config/example/dbconfig.txt index f1a96ae3d74..5329ec95056 100644 --- a/config/example/dbconfig.txt +++ b/config/example/dbconfig.txt @@ -9,7 +9,7 @@ ## This value must be set to the version of the paradise schema in use. ## If this value does not match, the SQL database will not be loaded and an error will be generated. ## Roundstart will be delayed. -DB_VERSION 13 +DB_VERSION 14 ## Server the MySQL database can be found at. # Examples: localhost, 200.135.5.43, www.mysqldb.com, etc. From 3e119ac23b4f56dd665727167899191a3ce9da5d Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 20 Oct 2020 13:54:51 -0700 Subject: [PATCH 02/23] Travis dbconfig.txt --- tools/travis/dbconfig.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/travis/dbconfig.txt b/tools/travis/dbconfig.txt index 07da8e74371..feb625d4a73 100644 --- a/tools/travis/dbconfig.txt +++ b/tools/travis/dbconfig.txt @@ -2,7 +2,7 @@ # Dont use it ingame # Remember to update this when you increase the SQL version! -aa SQL_ENABLED -DB_VERSION 13 +DB_VERSION 14 ADDRESS 127.0.0.1 PORT 3306 FEEDBACK_DATABASE feedback From d7437c08f83e51a732bb6ec6c2a8e56987bdcef9 Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 20 Oct 2020 14:37:26 -0700 Subject: [PATCH 03/23] delete legacy tables --- SQL/updates/13-14.sql | 6 ------ 1 file changed, 6 deletions(-) diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index fbd703de47c..c5d510d18e1 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -13,12 +13,6 @@ CREATE TABLE `ip2group` ALTER TABLE `ip2group` ADD INDEX(`groupstr`); -# Delete tables that already exist but are not used anywhere in either game or backend code - -DROP TABLE IF EXISTS `erro_privacy`; -DROP TABLE IF EXISTS `population`; - - # Add search indexes to make the most common DB queries faster ALTER TABLE `admin` ADD INDEX(`ckey`); From 215e9284b6b01e5e930565622a88f36599565ea3 Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 20 Oct 2020 14:39:58 -0700 Subject: [PATCH 04/23] delete paradise_schema_prefixed.sql --- SQL/paradise_schema_prefixed.sql | 628 ------------------------------- 1 file changed, 628 deletions(-) delete mode 100644 SQL/paradise_schema_prefixed.sql diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql deleted file mode 100644 index a9dcddaeac9..00000000000 --- a/SQL/paradise_schema_prefixed.sql +++ /dev/null @@ -1,628 +0,0 @@ -CREATE DATABASE IF NOT EXISTS `feedback` /*!40100 DEFAULT CHARACTER SET utf8 */; -USE `feedback`; - -/*!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 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `SS13_characters` --- - -DROP TABLE IF EXISTS `SS13_characters`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_characters` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, - `slot` int(2) NOT NULL, - `OOC_Notes` mediumtext NOT NULL, - `real_name` varchar(45) NOT NULL, - `name_is_always_random` tinyint(1) NOT NULL, - `gender` varchar(11) NOT NULL, - `age` smallint(4) NOT NULL, - `species` varchar(45) NOT NULL, - `language` varchar(45) NOT NULL, - `hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `secondary_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `facial_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `secondary_facial_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `skin_tone` smallint(4) NOT NULL, - `skin_colour` varchar(7) NOT NULL DEFAULT '#000000', - `marking_colours` varchar(255) NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', - `head_accessory_colour` varchar(7) NOT NULL DEFAULT '#000000', - `hair_style_name` varchar(45) NOT NULL, - `facial_style_name` varchar(45) NOT NULL, - `marking_styles` varchar(255) NOT NULL DEFAULT 'head=None&body=None&tail=None', - `head_accessory_style_name` varchar(45) NOT NULL, - `alt_head_name` varchar(45) NOT NULL, - `eye_colour` varchar(7) NOT NULL DEFAULT '#000000', - `underwear` mediumtext NOT NULL, - `undershirt` mediumtext NOT NULL, - `backbag` mediumtext NOT NULL, - `b_type` varchar(45) NOT NULL, - `alternate_option` smallint(4) NOT NULL, - `job_support_high` mediumint(8) NOT NULL, - `job_support_med` mediumint(8) NOT NULL, - `job_support_low` mediumint(8) NOT NULL, - `job_medsci_high` mediumint(8) NOT NULL, - `job_medsci_med` mediumint(8) NOT NULL, - `job_medsci_low` mediumint(8) NOT NULL, - `job_engsec_high` mediumint(8) NOT NULL, - `job_engsec_med` mediumint(8) NOT NULL, - `job_engsec_low` mediumint(8) NOT NULL, - `job_karma_high` mediumint(8) NOT NULL, - `job_karma_med` mediumint(8) NOT NULL, - `job_karma_low` mediumint(8) NOT NULL, - `flavor_text` mediumtext NOT NULL, - `med_record` mediumtext NOT NULL, - `sec_record` mediumtext NOT NULL, - `gen_record` mediumtext NOT NULL, - `disabilities` mediumint(8) NOT NULL, - `player_alt_titles` mediumtext NOT NULL, - `organ_data` mediumtext NOT NULL, - `rlimb_data` mediumtext NOT NULL, - `nanotrasen_relation` varchar(45) NOT NULL, - `speciesprefs` int(1) NOT NULL, - `socks` mediumtext NOT NULL, - `body_accessory` mediumtext NOT NULL, - `gear` mediumtext NOT NULL, - `autohiss` tinyint(1) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_customuseritems` --- - -DROP TABLE IF EXISTS `SS13_customuseritems`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_customuseritems` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `cuiCKey` varchar(36) NOT NULL, - `cuiRealName` varchar(60) NOT NULL, - `cuiPath` varchar(255) NOT NULL, - `cuiItemName` text, - `cuiDescription` text, - `cuiReason` text, - `cuiPropAdjust` text, - `cuiJobMask` text NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_customuseritems` ADD INDEX(`cuiCKey`); -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_death` --- - -DROP TABLE IF EXISTS `SS13_death`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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=166546 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `donators` --- - -DROP TABLE IF EXISTS `SS13_donators`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_donators` ( - `patreon_name` varchar(32) NOT NULL, - `tier` int(2), - `ckey` varchar(32) COMMENT 'Manual Field', - `start_date` datetime, - `end_date` datetime, - `active` boolean, - PRIMARY KEY (`patreon_name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; -ALTER TABLE `SS13_donators` ADD INDEX(`ckey`); -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_admin` --- - -DROP TABLE IF EXISTS `SS13_admin`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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 AUTO_INCREMENT=99 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_admin` ADD INDEX(`ckey`); -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_admin_log` --- - -DROP TABLE IF EXISTS `SS13_admin_log`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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=utf8mb4; -ALTER TABLE `SS13_admin_log` ADD INDEX(`adminckey`); -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_ban` --- - -DROP TABLE IF EXISTS `SS13_ban`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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 AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_feedback` --- - -DROP TABLE IF EXISTS `SS13_feedback`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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 AUTO_INCREMENT=257638 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_player` --- - -DROP TABLE IF EXISTS `SS13_player`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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', - `ooccolor` varchar(7) DEFAULT '#b82e00', - `UI_style` varchar(10) DEFAULT 'Midnight', - `UI_style_color` varchar(7) DEFAULT '#ffffff', - `UI_style_alpha` smallint(4) DEFAULT '255', - `be_role` mediumtext, - `default_slot` smallint(4) DEFAULT '1', - `toggles` int(8) DEFAULT '383', - `toggles_2` int(8) DEFAULT '14', - `sound` mediumint(8) DEFAULT '31', - `volume` smallint(4) DEFAULT '100', - `lastchangelog` varchar(32) NOT NULL DEFAULT '0', - `exp` mediumtext, - `clientfps` smallint(4) DEFAULT '0', - `atklog` smallint(4) DEFAULT '0', - `fuid` bigint(20) NULL DEFAULT NULL, - `fupdate` smallint(4) NULL DEFAULT '0', - `parallax` tinyint(1) DEFAULT '8', - PRIMARY KEY (`id`), - UNIQUE KEY `ckey` (`ckey`) -) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_poll_option` --- - -DROP TABLE IF EXISTS `SS13_poll_option`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_poll_question` --- - -DROP TABLE IF EXISTS `SS13_poll_question`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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', - `multiplechoiceoptions` int(2) DEFAULT NULL, - `createdby_ckey` varchar(45) NULL DEFAULT NULL, - `createdby_ip` varchar(45) NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_poll_textreply` --- - -DROP TABLE IF EXISTS `SS13_poll_textreply`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_poll_vote` --- - -DROP TABLE IF EXISTS `SS13_poll_vote`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_privacy` --- - -DROP TABLE IF EXISTS `SS13_privacy`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ss13_privacy` ( - `ckey` varchar(32) NOT NULL, - `datetime` datetime NOT NULL, - `consent` bit(1) NOT NULL, - PRIMARY KEY (`ckey`), - UNIQUE KEY `ckey_UNIQUE` (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_karma` --- - -DROP TABLE IF EXISTS `SS13_karma`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_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, - `receiverspecial` text, - `isnegative` tinyint(1) DEFAULT NULL, - `spenderip` text NOT NULL, - `time` datetime NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=73614 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_karmatotals` --- - -DROP TABLE IF EXISTS `SS13_karmatotals`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_karmatotals` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `byondkey` text NOT NULL, - `karma` int(11) NOT NULL, - `karmaspent` int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_library` --- - -DROP TABLE IF EXISTS `SS13_library`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_library` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `author` text NOT NULL, - `title` text NOT NULL, - `content` text NOT NULL, - `category` text NOT NULL, - `ckey` varchar(45) NOT NULL, - `flagged` int(11) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=929 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_library` ADD INDEX(`ckey`); -ALTER TABLE `SS13_library` ADD INDEX(`flagged`); -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_legacy_population` --- - -DROP TABLE IF EXISTS `SS13_legacy_population`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_legacy_population` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `playercount` int(11) DEFAULT NULL, - `admincount` int(11) DEFAULT NULL, - `time` datetime NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=2550 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_whitelist` --- - -DROP TABLE IF EXISTS `SS13_whitelist`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_whitelist` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` text NOT NULL, - `job` text, - `species` text, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!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 */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- --- Table structure for table `SS13_watch` --- - -DROP TABLE IF EXISTS `SS13_watch`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_watch` ( - `ckey` varchar(32) NOT NULL, - `reason` text NOT NULL, - `timestamp` datetime NOT NULL, - `adminckey` varchar(32) NOT NULL, - `last_editor` varchar(32), - `edits` text, - PRIMARY KEY (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - - --- --- Table structure for table `SS13_notes` --- - -DROP TABLE IF EXISTS `SS13_notes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_notes` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, - `notetext` text NOT NULL, - `timestamp` datetime NOT NULL, - `adminckey` varchar(32) NOT NULL, - `last_editor` varchar(32), - `edits` text, - `server` varchar(50) NOT NULL, - `crew_playtime` mediumint(8) UNSIGNED DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_notes` ADD INDEX(`ckey`); -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_memo` --- - -DROP TABLE IF EXISTS `SS13_memo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_memo` ( - `ckey` varchar(32) NOT NULL, - `memotext` text NOT NULL, - `timestamp` datetime NOT NULL, - `last_editor` varchar(32), - `edits` text, - PRIMARY KEY (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_ipintel` --- -DROP TABLE IF EXISTS `SS13_ipintel`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_ipintel` ( - `ip` int UNSIGNED NOT NULL, - `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, - `intel` real NOT NULL DEFAULT '0', - PRIMARY key (`ip`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_vpn_whitelist` --- -DROP TABLE IF EXISTS `SS13_vpn_whitelist`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_vpn_whitelist` ( - `ckey` varchar(32) NOT NULL, - `reason` text, - PRIMARY KEY (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_oauth_tokens` --- -DROP TABLE IF EXISTS `SS13_oauth_tokens`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_oauth_tokens` ( - `ckey` varchar(32) NOT NULL, - `token` varchar(32) NOT NULL, - PRIMARY KEY (`token`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_oauth_tokens` ADD INDEX(`ckey`); -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `SS13_playtime_history` --- -DROP TABLE IF EXISTS `SS13_playtime_history`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `SS13_playtime_history` ( - `ckey` varchar(32) NOT NULL, - `date` DATE NOT NULL, - `time_living` SMALLINT NOT NULL, - `time_ghost` SMALLINT NOT NULL, - PRIMARY KEY (`ckey`, `date`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- --- Table structure for table `SS13_connection_log` --- -DROP TABLE IF EXISTS `SS13_connection_log`; -CREATE TABLE `SS13_connection_log` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `ckey` varchar(32) NOT NULL, - `ip` varchar(32) NOT NULL, - `computerid` varchar(32) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_connection_log` ADD INDEX(`ckey`); -ALTER TABLE `SS13_connection_log` ADD INDEX(`ip`); -ALTER TABLE `SS13_connection_log` ADD INDEX(`computerid`); - --- --- Table structure for table `SS13_changelog` --- -DROP TABLE IF EXISTS `SS13_changelog`; -CREATE TABLE `SS13_changelog` ( - `id` INT(11) NOT NULL AUTO_INCREMENT, - `pr_number` INT(11) NOT NULL, - `date_merged` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - `author` VARCHAR(32) NOT NULL, - `cl_type` ENUM('FIX','WIP','TWEAK','SOUNDADD','SOUNDDEL','CODEADD','CODEDEL','IMAGEADD','IMAGEDEL','SPELLCHECK','EXPERIMENT') NOT NULL, - `cl_entry` TEXT NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- --- Table structure for table `ip2group` --- -DROP TABLE IF EXISTS `SS13_ip2group`; -CREATE TABLE `SS13_ip2group` -( - `ip` varchar (18) NOT NULL, - `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, - `groupstr` varchar (32) NOT NULL DEFAULT '', - PRIMARY KEY (`ip`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_ip2group` ADD INDEX(`groupstr`); - From 5d5c7f014b4057e3e9657968ac09033cc4ecbb6a Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 20 Oct 2020 14:44:04 -0700 Subject: [PATCH 05/23] Revert "delete paradise_schema_prefixed.sql" This reverts commit 215e9284b6b01e5e930565622a88f36599565ea3. --- SQL/paradise_schema_prefixed.sql | 628 +++++++++++++++++++++++++++++++ 1 file changed, 628 insertions(+) create mode 100644 SQL/paradise_schema_prefixed.sql diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql new file mode 100644 index 00000000000..a9dcddaeac9 --- /dev/null +++ b/SQL/paradise_schema_prefixed.sql @@ -0,0 +1,628 @@ +CREATE DATABASE IF NOT EXISTS `feedback` /*!40100 DEFAULT CHARACTER SET utf8 */; +USE `feedback`; + +/*!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 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `SS13_characters` +-- + +DROP TABLE IF EXISTS `SS13_characters`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_characters` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ckey` varchar(32) NOT NULL, + `slot` int(2) NOT NULL, + `OOC_Notes` mediumtext NOT NULL, + `real_name` varchar(45) NOT NULL, + `name_is_always_random` tinyint(1) NOT NULL, + `gender` varchar(11) NOT NULL, + `age` smallint(4) NOT NULL, + `species` varchar(45) NOT NULL, + `language` varchar(45) NOT NULL, + `hair_colour` varchar(7) NOT NULL DEFAULT '#000000', + `secondary_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', + `facial_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', + `secondary_facial_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', + `skin_tone` smallint(4) NOT NULL, + `skin_colour` varchar(7) NOT NULL DEFAULT '#000000', + `marking_colours` varchar(255) NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', + `head_accessory_colour` varchar(7) NOT NULL DEFAULT '#000000', + `hair_style_name` varchar(45) NOT NULL, + `facial_style_name` varchar(45) NOT NULL, + `marking_styles` varchar(255) NOT NULL DEFAULT 'head=None&body=None&tail=None', + `head_accessory_style_name` varchar(45) NOT NULL, + `alt_head_name` varchar(45) NOT NULL, + `eye_colour` varchar(7) NOT NULL DEFAULT '#000000', + `underwear` mediumtext NOT NULL, + `undershirt` mediumtext NOT NULL, + `backbag` mediumtext NOT NULL, + `b_type` varchar(45) NOT NULL, + `alternate_option` smallint(4) NOT NULL, + `job_support_high` mediumint(8) NOT NULL, + `job_support_med` mediumint(8) NOT NULL, + `job_support_low` mediumint(8) NOT NULL, + `job_medsci_high` mediumint(8) NOT NULL, + `job_medsci_med` mediumint(8) NOT NULL, + `job_medsci_low` mediumint(8) NOT NULL, + `job_engsec_high` mediumint(8) NOT NULL, + `job_engsec_med` mediumint(8) NOT NULL, + `job_engsec_low` mediumint(8) NOT NULL, + `job_karma_high` mediumint(8) NOT NULL, + `job_karma_med` mediumint(8) NOT NULL, + `job_karma_low` mediumint(8) NOT NULL, + `flavor_text` mediumtext NOT NULL, + `med_record` mediumtext NOT NULL, + `sec_record` mediumtext NOT NULL, + `gen_record` mediumtext NOT NULL, + `disabilities` mediumint(8) NOT NULL, + `player_alt_titles` mediumtext NOT NULL, + `organ_data` mediumtext NOT NULL, + `rlimb_data` mediumtext NOT NULL, + `nanotrasen_relation` varchar(45) NOT NULL, + `speciesprefs` int(1) NOT NULL, + `socks` mediumtext NOT NULL, + `body_accessory` mediumtext NOT NULL, + `gear` mediumtext NOT NULL, + `autohiss` tinyint(1) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_customuseritems` +-- + +DROP TABLE IF EXISTS `SS13_customuseritems`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_customuseritems` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `cuiCKey` varchar(36) NOT NULL, + `cuiRealName` varchar(60) NOT NULL, + `cuiPath` varchar(255) NOT NULL, + `cuiItemName` text, + `cuiDescription` text, + `cuiReason` text, + `cuiPropAdjust` text, + `cuiJobMask` text NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_customuseritems` ADD INDEX(`cuiCKey`); +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_death` +-- + +DROP TABLE IF EXISTS `SS13_death`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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=166546 DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `donators` +-- + +DROP TABLE IF EXISTS `SS13_donators`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_donators` ( + `patreon_name` varchar(32) NOT NULL, + `tier` int(2), + `ckey` varchar(32) COMMENT 'Manual Field', + `start_date` datetime, + `end_date` datetime, + `active` boolean, + PRIMARY KEY (`patreon_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE `SS13_donators` ADD INDEX(`ckey`); +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_admin` +-- + +DROP TABLE IF EXISTS `SS13_admin`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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 AUTO_INCREMENT=99 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_admin` ADD INDEX(`ckey`); +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_admin_log` +-- + +DROP TABLE IF EXISTS `SS13_admin_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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=utf8mb4; +ALTER TABLE `SS13_admin_log` ADD INDEX(`adminckey`); +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_ban` +-- + +DROP TABLE IF EXISTS `SS13_ban`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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 AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_feedback` +-- + +DROP TABLE IF EXISTS `SS13_feedback`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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 AUTO_INCREMENT=257638 DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_player` +-- + +DROP TABLE IF EXISTS `SS13_player`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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', + `ooccolor` varchar(7) DEFAULT '#b82e00', + `UI_style` varchar(10) DEFAULT 'Midnight', + `UI_style_color` varchar(7) DEFAULT '#ffffff', + `UI_style_alpha` smallint(4) DEFAULT '255', + `be_role` mediumtext, + `default_slot` smallint(4) DEFAULT '1', + `toggles` int(8) DEFAULT '383', + `toggles_2` int(8) DEFAULT '14', + `sound` mediumint(8) DEFAULT '31', + `volume` smallint(4) DEFAULT '100', + `lastchangelog` varchar(32) NOT NULL DEFAULT '0', + `exp` mediumtext, + `clientfps` smallint(4) DEFAULT '0', + `atklog` smallint(4) DEFAULT '0', + `fuid` bigint(20) NULL DEFAULT NULL, + `fupdate` smallint(4) NULL DEFAULT '0', + `parallax` tinyint(1) DEFAULT '8', + PRIMARY KEY (`id`), + UNIQUE KEY `ckey` (`ckey`) +) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_poll_option` +-- + +DROP TABLE IF EXISTS `SS13_poll_option`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_poll_question` +-- + +DROP TABLE IF EXISTS `SS13_poll_question`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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', + `multiplechoiceoptions` int(2) DEFAULT NULL, + `createdby_ckey` varchar(45) NULL DEFAULT NULL, + `createdby_ip` varchar(45) NULL DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_poll_textreply` +-- + +DROP TABLE IF EXISTS `SS13_poll_textreply`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_poll_vote` +-- + +DROP TABLE IF EXISTS `SS13_poll_vote`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_privacy` +-- + +DROP TABLE IF EXISTS `SS13_privacy`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ss13_privacy` ( + `ckey` varchar(32) NOT NULL, + `datetime` datetime NOT NULL, + `consent` bit(1) NOT NULL, + PRIMARY KEY (`ckey`), + UNIQUE KEY `ckey_UNIQUE` (`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_karma` +-- + +DROP TABLE IF EXISTS `SS13_karma`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_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, + `receiverspecial` text, + `isnegative` tinyint(1) DEFAULT NULL, + `spenderip` text NOT NULL, + `time` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=73614 DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_karmatotals` +-- + +DROP TABLE IF EXISTS `SS13_karmatotals`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_karmatotals` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `byondkey` text NOT NULL, + `karma` int(11) NOT NULL, + `karmaspent` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_library` +-- + +DROP TABLE IF EXISTS `SS13_library`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_library` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `author` text NOT NULL, + `title` text NOT NULL, + `content` text NOT NULL, + `category` text NOT NULL, + `ckey` varchar(45) NOT NULL, + `flagged` int(11) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=929 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_library` ADD INDEX(`ckey`); +ALTER TABLE `SS13_library` ADD INDEX(`flagged`); +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_legacy_population` +-- + +DROP TABLE IF EXISTS `SS13_legacy_population`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_legacy_population` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `playercount` int(11) DEFAULT NULL, + `admincount` int(11) DEFAULT NULL, + `time` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=2550 DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_whitelist` +-- + +DROP TABLE IF EXISTS `SS13_whitelist`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_whitelist` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ckey` text NOT NULL, + `job` text, + `species` text, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!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 */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- +-- Table structure for table `SS13_watch` +-- + +DROP TABLE IF EXISTS `SS13_watch`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_watch` ( + `ckey` varchar(32) NOT NULL, + `reason` text NOT NULL, + `timestamp` datetime NOT NULL, + `adminckey` varchar(32) NOT NULL, + `last_editor` varchar(32), + `edits` text, + PRIMARY KEY (`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + + +-- +-- Table structure for table `SS13_notes` +-- + +DROP TABLE IF EXISTS `SS13_notes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_notes` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ckey` varchar(32) NOT NULL, + `notetext` text NOT NULL, + `timestamp` datetime NOT NULL, + `adminckey` varchar(32) NOT NULL, + `last_editor` varchar(32), + `edits` text, + `server` varchar(50) NOT NULL, + `crew_playtime` mediumint(8) UNSIGNED DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_notes` ADD INDEX(`ckey`); +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_memo` +-- + +DROP TABLE IF EXISTS `SS13_memo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_memo` ( + `ckey` varchar(32) NOT NULL, + `memotext` text NOT NULL, + `timestamp` datetime NOT NULL, + `last_editor` varchar(32), + `edits` text, + PRIMARY KEY (`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_ipintel` +-- +DROP TABLE IF EXISTS `SS13_ipintel`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_ipintel` ( + `ip` int UNSIGNED NOT NULL, + `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, + `intel` real NOT NULL DEFAULT '0', + PRIMARY key (`ip`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_vpn_whitelist` +-- +DROP TABLE IF EXISTS `SS13_vpn_whitelist`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_vpn_whitelist` ( + `ckey` varchar(32) NOT NULL, + `reason` text, + PRIMARY KEY (`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_oauth_tokens` +-- +DROP TABLE IF EXISTS `SS13_oauth_tokens`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_oauth_tokens` ( + `ckey` varchar(32) NOT NULL, + `token` varchar(32) NOT NULL, + PRIMARY KEY (`token`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_oauth_tokens` ADD INDEX(`ckey`); +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SS13_playtime_history` +-- +DROP TABLE IF EXISTS `SS13_playtime_history`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `SS13_playtime_history` ( + `ckey` varchar(32) NOT NULL, + `date` DATE NOT NULL, + `time_living` SMALLINT NOT NULL, + `time_ghost` SMALLINT NOT NULL, + PRIMARY KEY (`ckey`, `date`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- +-- Table structure for table `SS13_connection_log` +-- +DROP TABLE IF EXISTS `SS13_connection_log`; +CREATE TABLE `SS13_connection_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `datetime` datetime NOT NULL, + `ckey` varchar(32) NOT NULL, + `ip` varchar(32) NOT NULL, + `computerid` varchar(32) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_connection_log` ADD INDEX(`ckey`); +ALTER TABLE `SS13_connection_log` ADD INDEX(`ip`); +ALTER TABLE `SS13_connection_log` ADD INDEX(`computerid`); + +-- +-- Table structure for table `SS13_changelog` +-- +DROP TABLE IF EXISTS `SS13_changelog`; +CREATE TABLE `SS13_changelog` ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `pr_number` INT(11) NOT NULL, + `date_merged` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + `author` VARCHAR(32) NOT NULL, + `cl_type` ENUM('FIX','WIP','TWEAK','SOUNDADD','SOUNDDEL','CODEADD','CODEDEL','IMAGEADD','IMAGEDEL','SPELLCHECK','EXPERIMENT') NOT NULL, + `cl_entry` TEXT NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- +-- Table structure for table `ip2group` +-- +DROP TABLE IF EXISTS `SS13_ip2group`; +CREATE TABLE `SS13_ip2group` +( + `ip` varchar (18) NOT NULL, + `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, + `groupstr` varchar (32) NOT NULL DEFAULT '', + PRIMARY KEY (`ip`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_ip2group` ADD INDEX(`groupstr`); + From 9dfddff0eae27e8575dd883a847280c3dc4bdb44 Mon Sep 17 00:00:00 2001 From: Kyep Date: Fri, 23 Oct 2020 02:19:55 -0700 Subject: [PATCH 06/23] AA requested byond_date col for player table --- SQL/paradise_schema.sql | 1 + SQL/paradise_schema_prefixed.sql | 1 + SQL/updates/13-14.sql | 3 +++ 3 files changed, 5 insertions(+) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 76306f6117a..5d371aacded 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -269,6 +269,7 @@ CREATE TABLE `player` ( `fuid` bigint(20) NULL DEFAULT NULL, `fupdate` smallint(4) NULL DEFAULT '0', `parallax` tinyint(1) DEFAULT '8', + `byond_date` DATE, PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index a9dcddaeac9..6022621a002 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -268,6 +268,7 @@ CREATE TABLE `SS13_player` ( `fuid` bigint(20) NULL DEFAULT NULL, `fupdate` smallint(4) NULL DEFAULT '0', `parallax` tinyint(1) DEFAULT '8', + `byond_date` DATE, PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index c5d510d18e1..b2951f30391 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -27,3 +27,6 @@ ALTER TABLE `library` ADD INDEX(`flagged`); ALTER TABLE `notes` ADD INDEX(`ckey`); ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); +# Add player table field for byond account creation date + +ALTER TABLE `player` ADD COLUMN `byond_date` DATE; From 48fb0b17f366c85f14f566c5953fe27fefb6e3c5 Mon Sep 17 00:00:00 2001 From: Kyep Date: Fri, 23 Oct 2020 15:05:53 -0700 Subject: [PATCH 07/23] AA requests --- SQL/paradise_schema.sql | 3 +-- SQL/paradise_schema_prefixed.sql | 3 +-- SQL/updates/13-14.sql | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 5d371aacded..ae40a144d38 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -621,8 +621,7 @@ CREATE TABLE `changelog` ( -- Table structure for table `ip2group` -- DROP TABLE IF EXISTS `ip2group`; -CREATE TABLE `ip2group` -( +CREATE TABLE `ip2group` ( `ip` varchar (18) NOT NULL, `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, `groupstr` varchar (32) NOT NULL DEFAULT '', diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index 6022621a002..0df661e2b94 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -618,8 +618,7 @@ CREATE TABLE `SS13_changelog` ( -- Table structure for table `ip2group` -- DROP TABLE IF EXISTS `SS13_ip2group`; -CREATE TABLE `SS13_ip2group` -( +CREATE TABLE `SS13_ip2group` ( `ip` varchar (18) NOT NULL, `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, `groupstr` varchar (32) NOT NULL DEFAULT '', diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index b2951f30391..8e94d557b35 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -3,8 +3,7 @@ # Add new tables used by backend tooling -CREATE TABLE `ip2group` -( +CREATE TABLE `ip2group` ( `ip` varchar (18) NOT NULL, `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, `groupstr` varchar (32) NOT NULL DEFAULT '', From b4f5b741d9a806c78152e605a6a141d0733eb2c2 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 14:51:21 -0700 Subject: [PATCH 08/23] add existing indexes to schema --- SQL/paradise_schema.sql | 14 ++++++++++++-- SQL/paradise_schema_prefixed.sql | 14 ++++++++++++-- SQL/updates/13-14.sql | 17 +++++++++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index ae40a144d38..e4565cec658 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -78,6 +78,7 @@ CREATE TABLE `characters` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `characters` ADD INDEX(`ckey`); -- -- Table structure for table `customuseritems` @@ -218,6 +219,9 @@ CREATE TABLE `ban` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `ban` ADD INDEX(`ckey`); +ALTER TABLE `ban` ADD INDEX(`computerid`); +ALTER TABLE `ban` ADD INDEX(`ip`); -- -- Table structure for table `feedback` @@ -274,6 +278,11 @@ CREATE TABLE `player` ( UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `player` ADD INDEX(`lastseen`); +ALTER TABLE `player` ADD INDEX(`computerid`); +ALTER TABLE `player` ADD INDEX(`ip`); +ALTER TABLE `player` ADD INDEX(`fuid`); +ALTER TABLE `player` ADD INDEX(`fupdate`); -- -- Table structure for table `poll_option` @@ -367,8 +376,7 @@ CREATE TABLE `privacy` ( `ckey` varchar(32) NOT NULL, `datetime` datetime NOT NULL, `consent` bit(1) NOT NULL, - PRIMARY KEY (`ckey`), - UNIQUE KEY `ckey_UNIQUE` (`ckey`) + PRIMARY KEY (`ckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; @@ -409,6 +417,7 @@ CREATE TABLE `karmatotals` ( PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); -- -- Table structure for table `library` @@ -461,6 +470,7 @@ CREATE TABLE `whitelist` ( `species` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `whitelist` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index 0df661e2b94..c452eab4c0c 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -78,6 +78,7 @@ CREATE TABLE `SS13_characters` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `SS13_characters` ADD INDEX(`ckey`); -- -- Table structure for table `SS13_customuseritems` @@ -217,6 +218,9 @@ CREATE TABLE `SS13_ban` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `SS13_ban` ADD INDEX(`ckey`); +ALTER TABLE `SS13_ban` ADD INDEX(`computerid`); +ALTER TABLE `SS13_ban` ADD INDEX(`ip`); -- -- Table structure for table `SS13_feedback` @@ -273,6 +277,11 @@ CREATE TABLE `SS13_player` ( UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `SS13_player` ADD INDEX(`lastseen`); +ALTER TABLE `SS13_player` ADD INDEX(`computerid`); +ALTER TABLE `SS13_player` ADD INDEX(`ip`); +ALTER TABLE `SS13_player` ADD INDEX(`fuid`); +ALTER TABLE `SS13_player` ADD INDEX(`fupdate`); -- -- Table structure for table `SS13_poll_option` @@ -366,8 +375,7 @@ CREATE TABLE `ss13_privacy` ( `ckey` varchar(32) NOT NULL, `datetime` datetime NOT NULL, `consent` bit(1) NOT NULL, - PRIMARY KEY (`ckey`), - UNIQUE KEY `ckey_UNIQUE` (`ckey`) + PRIMARY KEY (`ckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; @@ -408,6 +416,7 @@ CREATE TABLE `SS13_karmatotals` ( PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `SS13_karmatotals` ADD INDEX(`byondkey`); -- -- Table structure for table `SS13_library` @@ -460,6 +469,7 @@ CREATE TABLE `SS13_whitelist` ( `species` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_whitelist` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 8e94d557b35..9f18c75b4de 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -26,6 +26,23 @@ ALTER TABLE `library` ADD INDEX(`flagged`); ALTER TABLE `notes` ADD INDEX(`ckey`); ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); +# Delete pointless indexes +DROP INDEX ckey_UNIQUE ON privacy; + +# Add more search indexes to account for the custom indexes we already had but which downstreams do not and were not in the schema + +ALTER TABLE `characters` ADD INDEX(`ckey`); +ALTER TABLE `ban` ADD INDEX(`ckey`); +ALTER TABLE `ban` ADD INDEX(`computerid`); +ALTER TABLE `ban` ADD INDEX(`ip`); +ALTER TABLE `player` ADD INDEX(`lastseen`); +ALTER TABLE `player` ADD INDEX(`computerid`); +ALTER TABLE `player` ADD INDEX(`ip`); +ALTER TABLE `player` ADD INDEX(`fuid`); +ALTER TABLE `player` ADD INDEX(`fupdate`); +ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); +ALTER TABLE `whitelist` ADD INDEX(`ckey`); + # Add player table field for byond account creation date ALTER TABLE `player` ADD COLUMN `byond_date` DATE; From 8ccb77a32187f686d2af74e7debf2da2a0ed0f45 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 15:13:32 -0700 Subject: [PATCH 09/23] travis fix --- SQL/updates/13-14.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 9f18c75b4de..593cd2c4b8a 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -40,6 +40,7 @@ ALTER TABLE `player` ADD INDEX(`computerid`); ALTER TABLE `player` ADD INDEX(`ip`); ALTER TABLE `player` ADD INDEX(`fuid`); ALTER TABLE `player` ADD INDEX(`fupdate`); +ALTER TABLE `karmatotals` CHANGE COLUMN `byondkey` `byondkey` VARCHAR(32) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci' AFTER `id`; ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); ALTER TABLE `whitelist` ADD INDEX(`ckey`); From c7e6906140ac620e655b46023bbaf829b07708dd Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 16:19:18 -0700 Subject: [PATCH 10/23] sync whitelist table --- SQL/paradise_schema.sql | 6 +++--- SQL/paradise_schema_prefixed.sql | 6 +++--- SQL/updates/13-14.sql | 3 +++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index e4565cec658..6e1c339aadc 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -465,9 +465,9 @@ DROP TABLE IF EXISTS `whitelist`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `whitelist` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` text NOT NULL, - `job` text, - `species` text, + `ckey` VARCHAR(32) NOT NULL DEFAULT '', + `job` MEDIUMTEXT, + `species` MEDIUMTEXT, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; ALTER TABLE `whitelist` ADD INDEX(`ckey`); diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index c452eab4c0c..fc37e86ebac 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -464,9 +464,9 @@ DROP TABLE IF EXISTS `SS13_whitelist`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `SS13_whitelist` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` text NOT NULL, - `job` text, - `species` text, + `ckey` VARCHAR(32) NOT NULL DEFAULT '', + `job` MEDIUMTEXT, + `species` MEDIUMTEXT, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; ALTER TABLE `SS13_whitelist` ADD INDEX(`ckey`); diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 593cd2c4b8a..ff93dba593d 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -42,6 +42,9 @@ ALTER TABLE `player` ADD INDEX(`fuid`); ALTER TABLE `player` ADD INDEX(`fupdate`); ALTER TABLE `karmatotals` CHANGE COLUMN `byondkey` `byondkey` VARCHAR(32) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci' AFTER `id`; ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); +ALTER TABLE `whitelist` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) NOT NULL DEFAULT '' AFTER `id`; +ALTER TABLE `whitelist` CHANGE COLUMN `job` `job` MEDIUMTEXT AFTER `ckey`; +ALTER TABLE `whitelist` CHANGE COLUMN `species` `species` MEDIUMTEXT AFTER `job`; ALTER TABLE `whitelist` ADD INDEX(`ckey`); # Add player table field for byond account creation date From 9b5f469ac35406d108ea1460a10bdb2e6928c7a7 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 16:38:52 -0700 Subject: [PATCH 11/23] sync karmatotals table --- SQL/paradise_schema.sql | 4 ++-- SQL/paradise_schema_prefixed.sql | 4 ++-- SQL/updates/13-14.sql | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 6e1c339aadc..dfa76f38f63 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -411,9 +411,9 @@ DROP TABLE IF EXISTS `karmatotals`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `karmatotals` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `byondkey` text NOT NULL, + `byondkey` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL, `karma` int(11) NOT NULL, - `karmaspent` int(11) NOT NULL DEFAULT '0', + `karmaspent` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index fc37e86ebac..2bec803348d 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -410,9 +410,9 @@ DROP TABLE IF EXISTS `SS13_karmatotals`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `SS13_karmatotals` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `byondkey` text NOT NULL, + `byondkey` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL, `karma` int(11) NOT NULL, - `karmaspent` int(11) NOT NULL DEFAULT '0', + `karmaspent` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index ff93dba593d..b2e48e7b8cb 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -41,6 +41,7 @@ ALTER TABLE `player` ADD INDEX(`ip`); ALTER TABLE `player` ADD INDEX(`fuid`); ALTER TABLE `player` ADD INDEX(`fupdate`); ALTER TABLE `karmatotals` CHANGE COLUMN `byondkey` `byondkey` VARCHAR(32) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci' AFTER `id`; +ALTER TABLE `karmatotals` CHANGE COLUMN `karmaspent` `karmaspent` int(11) NOT NULL DEFAULT 0 AFTER `karma`; ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); ALTER TABLE `whitelist` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) NOT NULL DEFAULT '' AFTER `id`; ALTER TABLE `whitelist` CHANGE COLUMN `job` `job` MEDIUMTEXT AFTER `ckey`; From 83974e146dbf9db6d71f50c84ffcc94829b7f6aa Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 18:13:41 -0700 Subject: [PATCH 12/23] sync tables whitelist, watch, library, player --- SQL/paradise_schema.sql | 80 +++++++++++++++-------------- SQL/paradise_schema_prefixed.sql | 86 ++++++++++++++++---------------- SQL/updates/13-14.sql | 51 ++++++++++++++++--- 3 files changed, 129 insertions(+), 88 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index dfa76f38f63..3289ac435fd 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -250,33 +250,37 @@ DROP TABLE IF EXISTS `player`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `player` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci 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', - `ooccolor` varchar(7) DEFAULT '#b82e00', - `UI_style` varchar(10) DEFAULT 'Midnight', - `UI_style_color` varchar(7) DEFAULT '#ffffff', + `ip` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL, + `computerid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `lastadminrank` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Player', + `ooccolor` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT '#b82e00', + `UI_style` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT 'Midnight', + `UI_style_color` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT '#ffffff', `UI_style_alpha` smallint(4) DEFAULT '255', - `be_role` mediumtext, + `be_role` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `default_slot` smallint(4) DEFAULT '1', - `toggles` int(8) DEFAULT '383', - `toggles_2` int(8) DEFAULT '14', + `toggles` int(11) DEFAULT NULL, + `toggles_2` int(11) DEFAULT '0', `sound` mediumint(8) DEFAULT '31', `volume` smallint(4) DEFAULT '100', - `lastchangelog` varchar(32) NOT NULL DEFAULT '0', - `exp` mediumtext, + `lastchangelog` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0', + `exp` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `clientfps` smallint(4) DEFAULT '0', `atklog` smallint(4) DEFAULT '0', - `fuid` bigint(20) NULL DEFAULT NULL, - `fupdate` smallint(4) NULL DEFAULT '0', + `fuid` bigint(20) DEFAULT NULL, + `fupdate` smallint(4) DEFAULT '0', `parallax` tinyint(1) DEFAULT '8', - `byond_date` DATE, PRIMARY KEY (`id`), - UNIQUE KEY `ckey` (`ckey`) -) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; + UNIQUE KEY `ckey` (`ckey`), + KEY `lastseen` (`lastseen`), + KEY `computerid` (`computerid`), + KEY `ip` (`ip`), + KEY `fuid` (`fuid`), + KEY `fupdate` (`fupdate`) +) ENGINE=InnoDB AUTO_INCREMENT=135298 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; ALTER TABLE `player` ADD INDEX(`lastseen`); ALTER TABLE `player` ADD INDEX(`computerid`); @@ -414,10 +418,10 @@ CREATE TABLE `karmatotals` ( `byondkey` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL, `karma` int(11) NOT NULL, `karmaspent` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; + PRIMARY KEY (`id`), + KEY `byondkey` (`byondkey`) +) ENGINE=MyISAM AUTO_INCREMENT=25715 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); -- -- Table structure for table `library` @@ -428,14 +432,14 @@ DROP TABLE IF EXISTS `library`; /*!40101 SET character_set_client = utf8 */; 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, - `ckey` varchar(45) NOT NULL, + `author` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `title` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `content` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `category` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `flagged` int(11) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=929 DEFAULT CHARSET=utf8mb4; +) ENGINE=MyISAM AUTO_INCREMENT=4537 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ALTER TABLE `library` ADD INDEX(`ckey`); ALTER TABLE `library` ADD INDEX(`flagged`); /*!40101 SET character_set_client = @saved_cs_client */; @@ -465,12 +469,12 @@ DROP TABLE IF EXISTS `whitelist`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `whitelist` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` VARCHAR(32) NOT NULL DEFAULT '', - `job` MEDIUMTEXT, - `species` MEDIUMTEXT, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `whitelist` ADD INDEX(`ckey`); + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `job` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `species` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`) +) ENGINE=MyISAM AUTO_INCREMENT=4080 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -490,14 +494,14 @@ DROP TABLE IF EXISTS `watch`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `watch` ( - `ckey` varchar(32) NOT NULL, - `reason` text NOT NULL, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `reason` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `timestamp` datetime NOT NULL, - `adminckey` varchar(32) NOT NULL, - `last_editor` varchar(32), - `edits` text, + `adminckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `last_editor` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `edits` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index 2bec803348d..c590225a771 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -249,39 +249,37 @@ DROP TABLE IF EXISTS `SS13_player`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `SS13_player` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci 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', - `ooccolor` varchar(7) DEFAULT '#b82e00', - `UI_style` varchar(10) DEFAULT 'Midnight', - `UI_style_color` varchar(7) DEFAULT '#ffffff', + `ip` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL, + `computerid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `lastadminrank` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Player', + `ooccolor` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT '#b82e00', + `UI_style` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT 'Midnight', + `UI_style_color` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT '#ffffff', `UI_style_alpha` smallint(4) DEFAULT '255', - `be_role` mediumtext, + `be_role` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `default_slot` smallint(4) DEFAULT '1', - `toggles` int(8) DEFAULT '383', - `toggles_2` int(8) DEFAULT '14', + `toggles` int(11) DEFAULT NULL, + `toggles_2` int(11) DEFAULT '0', `sound` mediumint(8) DEFAULT '31', `volume` smallint(4) DEFAULT '100', - `lastchangelog` varchar(32) NOT NULL DEFAULT '0', - `exp` mediumtext, + `lastchangelog` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0', + `exp` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `clientfps` smallint(4) DEFAULT '0', `atklog` smallint(4) DEFAULT '0', - `fuid` bigint(20) NULL DEFAULT NULL, - `fupdate` smallint(4) NULL DEFAULT '0', + `fuid` bigint(20) DEFAULT NULL, + `fupdate` smallint(4) DEFAULT '0', `parallax` tinyint(1) DEFAULT '8', - `byond_date` DATE, PRIMARY KEY (`id`), - UNIQUE KEY `ckey` (`ckey`) -) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; -ALTER TABLE `SS13_player` ADD INDEX(`lastseen`); -ALTER TABLE `SS13_player` ADD INDEX(`computerid`); -ALTER TABLE `SS13_player` ADD INDEX(`ip`); -ALTER TABLE `SS13_player` ADD INDEX(`fuid`); -ALTER TABLE `SS13_player` ADD INDEX(`fupdate`); + UNIQUE KEY `ckey` (`ckey`), + KEY `lastseen` (`lastseen`), + KEY `computerid` (`computerid`), + KEY `ip` (`ip`), + KEY `fuid` (`fuid`), + KEY `fupdate` (`fupdate`) +) ENGINE=InnoDB AUTO_INCREMENT=135298 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- Table structure for table `SS13_poll_option` @@ -413,10 +411,10 @@ CREATE TABLE `SS13_karmatotals` ( `byondkey` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL, `karma` int(11) NOT NULL, `karmaspent` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; + PRIMARY KEY (`id`), + KEY `byondkey` (`byondkey`) +) ENGINE=MyISAM AUTO_INCREMENT=25715 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -ALTER TABLE `SS13_karmatotals` ADD INDEX(`byondkey`); -- -- Table structure for table `SS13_library` @@ -427,14 +425,14 @@ DROP TABLE IF EXISTS `SS13_library`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `SS13_library` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `author` text NOT NULL, - `title` text NOT NULL, - `content` text NOT NULL, - `category` text NOT NULL, - `ckey` varchar(45) NOT NULL, + `author` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `title` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `content` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `category` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `flagged` int(11) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=929 DEFAULT CHARSET=utf8mb4; +) ENGINE=MyISAM AUTO_INCREMENT=4537 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ALTER TABLE `SS13_library` ADD INDEX(`ckey`); ALTER TABLE `SS13_library` ADD INDEX(`flagged`); /*!40101 SET character_set_client = @saved_cs_client */; @@ -464,12 +462,12 @@ DROP TABLE IF EXISTS `SS13_whitelist`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `SS13_whitelist` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` VARCHAR(32) NOT NULL DEFAULT '', - `job` MEDIUMTEXT, - `species` MEDIUMTEXT, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_whitelist` ADD INDEX(`ckey`); + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `job` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `species` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`) +) ENGINE=MyISAM AUTO_INCREMENT=4080 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -489,14 +487,14 @@ DROP TABLE IF EXISTS `SS13_watch`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `SS13_watch` ( - `ckey` varchar(32) NOT NULL, - `reason` text NOT NULL, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `reason` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `timestamp` datetime NOT NULL, - `adminckey` varchar(32) NOT NULL, - `last_editor` varchar(32), - `edits` text, + `adminckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `last_editor` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `edits` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index b2e48e7b8cb..874135fbed3 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -12,6 +12,7 @@ CREATE TABLE `ip2group` ( ALTER TABLE `ip2group` ADD INDEX(`groupstr`); + # Add search indexes to make the most common DB queries faster ALTER TABLE `admin` ADD INDEX(`ckey`); @@ -26,28 +27,66 @@ ALTER TABLE `library` ADD INDEX(`flagged`); ALTER TABLE `notes` ADD INDEX(`ckey`); ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); + + # Delete pointless indexes + DROP INDEX ckey_UNIQUE ON privacy; -# Add more search indexes to account for the custom indexes we already had but which downstreams do not and were not in the schema + + +# Add player table field that AA plans to use very soon to store byond account creation date + +ALTER TABLE `player` ADD COLUMN `byond_date` DATE; + + +# These updates change your DB to match what we (Paradise) ALREADY USE IN PRODUCTION +# We (Paradise) do NOT need to run any of these. +# They are included here only for the convenience of github contributors, and downstream servers. ALTER TABLE `characters` ADD INDEX(`ckey`); + ALTER TABLE `ban` ADD INDEX(`ckey`); ALTER TABLE `ban` ADD INDEX(`computerid`); ALTER TABLE `ban` ADD INDEX(`ip`); + +ALTER TABLE `library` CHANGE COLUMN `author` `author` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `library` CHANGE COLUMN `title` `title` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `library` CHANGE COLUMN `content` `content` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `library` CHANGE COLUMN `category` `category` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `library` CHANGE COLUMN `ckey` `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; + +ALTER TABLE `player` CHANGE COLUMN `ckey` `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `player` CHANGE COLUMN `ip` `ip` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `player` CHANGE COLUMN `computerid` `computerid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `player` CHANGE COLUMN `lastadminrank` `lastadminrank` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Player'; +ALTER TABLE `player` CHANGE COLUMN `ooccolor` `ooccolor` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT '#b82e00'; +ALTER TABLE `player` CHANGE COLUMN `UI_style` `UI_style` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT 'Midnight'; +ALTER TABLE `player` CHANGE COLUMN `UI_style_color` `UI_style_color` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT '#ffffff'; +ALTER TABLE `player` CHANGE COLUMN `be_role` `be_role` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL; +ALTER TABLE `player` CHANGE COLUMN `toggles` `toggles` int(11) DEFAULT NULL; +ALTER TABLE `player` CHANGE COLUMN `toggles_2` `toggles_2` int(11) DEFAULT 0; +ALTER TABLE `player` CHANGE COLUMN `lastchangelog` `lastchangelog` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0'; +ALTER TABLE `player` CHANGE COLUMN `exp` `exp` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL; ALTER TABLE `player` ADD INDEX(`lastseen`); ALTER TABLE `player` ADD INDEX(`computerid`); ALTER TABLE `player` ADD INDEX(`ip`); ALTER TABLE `player` ADD INDEX(`fuid`); ALTER TABLE `player` ADD INDEX(`fupdate`); + ALTER TABLE `karmatotals` CHANGE COLUMN `byondkey` `byondkey` VARCHAR(32) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci' AFTER `id`; ALTER TABLE `karmatotals` CHANGE COLUMN `karmaspent` `karmaspent` int(11) NOT NULL DEFAULT 0 AFTER `karma`; ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); -ALTER TABLE `whitelist` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) NOT NULL DEFAULT '' AFTER `id`; -ALTER TABLE `whitelist` CHANGE COLUMN `job` `job` MEDIUMTEXT AFTER `ckey`; -ALTER TABLE `whitelist` CHANGE COLUMN `species` `species` MEDIUMTEXT AFTER `job`; + +ALTER TABLE `watch` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `watch` CHANGE COLUMN `reason` `reason` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL AFTER `ckey`; +ALTER TABLE `watch` CHANGE COLUMN `adminckey` `adminckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `timestamp`; +ALTER TABLE `watch` CHANGE COLUMN `last_editor` `last_editor` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `adminckey`; +ALTER TABLE `watch` CHANGE COLUMN `edits` `edits` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL AFTER `last_editor`; + +ALTER TABLE `whitelist` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `id`; +ALTER TABLE `whitelist` CHANGE COLUMN `job` `job` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER `ckey`; +ALTER TABLE `whitelist` CHANGE COLUMN `species` `species` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER `job`; ALTER TABLE `whitelist` ADD INDEX(`ckey`); -# Add player table field for byond account creation date -ALTER TABLE `player` ADD COLUMN `byond_date` DATE; From 2d964aa0a3e9fde1622a1f972ac9905d056ca93d Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 19:56:29 -0700 Subject: [PATCH 13/23] squash --- SQL/updates/13-14.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 874135fbed3..9672d9f1a97 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -81,8 +81,8 @@ ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); ALTER TABLE `watch` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL; ALTER TABLE `watch` CHANGE COLUMN `reason` `reason` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL AFTER `ckey`; ALTER TABLE `watch` CHANGE COLUMN `adminckey` `adminckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `timestamp`; -ALTER TABLE `watch` CHANGE COLUMN `last_editor` `last_editor` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `adminckey`; -ALTER TABLE `watch` CHANGE COLUMN `edits` `edits` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL AFTER `last_editor`; +ALTER TABLE `watch` CHANGE COLUMN `last_editor` `last_editor` VARCHAR(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER `adminckey`; +ALTER TABLE `watch` CHANGE COLUMN `edits` `edits` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER `last_editor`; ALTER TABLE `whitelist` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `id`; ALTER TABLE `whitelist` CHANGE COLUMN `job` `job` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER `ckey`; From d668f89e8f6328eee0d083d622c0b4bcae0180c4 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 20:28:27 -0700 Subject: [PATCH 14/23] sync donators --- SQL/paradise_schema.sql | 4 ++-- SQL/paradise_schema_prefixed.sql | 4 ++-- SQL/updates/13-14.sql | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 3289ac435fd..5b7da548ab1 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -137,9 +137,9 @@ DROP TABLE IF EXISTS `donators`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `donators` ( - `patreon_name` varchar(32) NOT NULL, + `patreon_name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `tier` int(2), - `ckey` varchar(32) COMMENT 'Manual Field', + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Manual Field', `start_date` datetime, `end_date` datetime, `active` boolean, diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index c590225a771..43660158d6d 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -137,9 +137,9 @@ DROP TABLE IF EXISTS `SS13_donators`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `SS13_donators` ( - `patreon_name` varchar(32) NOT NULL, + `patreon_name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `tier` int(2), - `ckey` varchar(32) COMMENT 'Manual Field', + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Manual Field', `start_date` datetime, `end_date` datetime, `active` boolean, diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 9672d9f1a97..c3025196d62 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -26,6 +26,7 @@ ALTER TABLE `library` ADD INDEX(`ckey`); ALTER TABLE `library` ADD INDEX(`flagged`); ALTER TABLE `notes` ADD INDEX(`ckey`); ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); +ALTER TABLE `whitelist` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `id`; @@ -50,6 +51,9 @@ ALTER TABLE `ban` ADD INDEX(`ckey`); ALTER TABLE `ban` ADD INDEX(`computerid`); ALTER TABLE `ban` ADD INDEX(`ip`); +ALTER TABLE `donators` CHANGE COLUMN `patreon_name` `patreon_name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `donators` CHANGE COLUMN `ckey` `ckey` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Manual Field'; + ALTER TABLE `library` CHANGE COLUMN `author` `author` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL; ALTER TABLE `library` CHANGE COLUMN `title` `title` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL; ALTER TABLE `library` CHANGE COLUMN `content` `content` MEDIUMTEXT COLLATE utf8mb4_unicode_ci NOT NULL; @@ -84,7 +88,6 @@ ALTER TABLE `watch` CHANGE COLUMN `adminckey` `adminckey` VARCHAR(32) COLLATE ut ALTER TABLE `watch` CHANGE COLUMN `last_editor` `last_editor` VARCHAR(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER `adminckey`; ALTER TABLE `watch` CHANGE COLUMN `edits` `edits` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER `last_editor`; -ALTER TABLE `whitelist` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `id`; ALTER TABLE `whitelist` CHANGE COLUMN `job` `job` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER `ckey`; ALTER TABLE `whitelist` CHANGE COLUMN `species` `species` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER `job`; ALTER TABLE `whitelist` ADD INDEX(`ckey`); From 48061638d85b74408fda01674d4ab834afe13cc2 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 20:42:14 -0700 Subject: [PATCH 15/23] refactor --- SQL/paradise_schema.sql | 57 +++++++++++++++----------------- SQL/paradise_schema_prefixed.sql | 53 ++++++++++++++--------------- 2 files changed, 53 insertions(+), 57 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 5b7da548ab1..ea92018946a 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -75,10 +75,10 @@ CREATE TABLE `characters` ( `body_accessory` mediumtext NOT NULL, `gear` mediumtext NOT NULL, `autohiss` tinyint(1) NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -ALTER TABLE `characters` ADD INDEX(`ckey`); -- -- Table structure for table `customuseritems` @@ -143,9 +143,9 @@ CREATE TABLE `donators` ( `start_date` datetime, `end_date` datetime, `active` boolean, - PRIMARY KEY (`patreon_name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; -ALTER TABLE `donators` ADD INDEX(`ckey`); + PRIMARY KEY (`patreon_name`), + KEY `ckey` (`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -162,9 +162,9 @@ CREATE TABLE `admin` ( `rank` varchar(32) NOT NULL DEFAULT 'Administrator', `level` int(2) NOT NULL DEFAULT '0', `flags` int(16) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `admin` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -180,9 +180,9 @@ CREATE TABLE `admin_log` ( `adminckey` varchar(32) NOT NULL, `adminip` varchar(18) NOT NULL, `log` text NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `adminckey` (`adminckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `admin_log` ADD INDEX(`adminckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -216,12 +216,12 @@ CREATE TABLE `ban` ( `unbanned_ckey` varchar(32) DEFAULT NULL, `unbanned_computerid` varchar(32) DEFAULT NULL, `unbanned_ip` varchar(32) DEFAULT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`), + KEY `computerid` (`computerid`), + KEY `ip` (`ip`) ) ENGINE=InnoDB AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -ALTER TABLE `ban` ADD INDEX(`ckey`); -ALTER TABLE `ban` ADD INDEX(`computerid`); -ALTER TABLE `ban` ADD INDEX(`ip`); -- -- Table structure for table `feedback` @@ -282,11 +282,6 @@ CREATE TABLE `player` ( KEY `fupdate` (`fupdate`) ) ENGINE=InnoDB AUTO_INCREMENT=135298 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -ALTER TABLE `player` ADD INDEX(`lastseen`); -ALTER TABLE `player` ADD INDEX(`computerid`); -ALTER TABLE `player` ADD INDEX(`ip`); -ALTER TABLE `player` ADD INDEX(`fuid`); -ALTER TABLE `player` ADD INDEX(`fupdate`); -- -- Table structure for table `poll_option` @@ -438,10 +433,10 @@ CREATE TABLE `library` ( `category` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `flagged` int(11) NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`), + KEY `flagged` (`flagged`) ) ENGINE=MyISAM AUTO_INCREMENT=4537 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -ALTER TABLE `library` ADD INDEX(`ckey`); -ALTER TABLE `library` ADD INDEX(`flagged`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -522,9 +517,9 @@ CREATE TABLE `notes` ( `edits` text, `server` varchar(50) NOT NULL, `crew_playtime` mediumint(8) UNSIGNED DEFAULT '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `notes` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -580,9 +575,9 @@ DROP TABLE IF EXISTS `oauth_tokens`; CREATE TABLE `oauth_tokens` ( `ckey` varchar(32) NOT NULL, `token` varchar(32) NOT NULL, - PRIMARY KEY (`token`) + PRIMARY KEY (`token`), + KEY `ckey` (`ckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; @@ -611,11 +606,11 @@ CREATE TABLE `connection_log` ( `ckey` varchar(32) NOT NULL, `ip` varchar(32) NOT NULL, `computerid` varchar(32) NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`), + KEY `ip` (`ip`), + KEY `computerid` (`computerid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `connection_log` ADD INDEX(`ckey`); -ALTER TABLE `connection_log` ADD INDEX(`ip`); -ALTER TABLE `connection_log` ADD INDEX(`computerid`); -- -- Table structure for table `changelog` @@ -639,7 +634,7 @@ CREATE TABLE `ip2group` ( `ip` varchar (18) NOT NULL, `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, `groupstr` varchar (32) NOT NULL DEFAULT '', - PRIMARY KEY (`ip`) + PRIMARY KEY (`ip`), + KEY `groupstr` (`groupstr`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `ip2group` ADD INDEX(`groupstr`); diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index 43660158d6d..880ceb99a10 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -75,10 +75,10 @@ CREATE TABLE `SS13_characters` ( `body_accessory` mediumtext NOT NULL, `gear` mediumtext NOT NULL, `autohiss` tinyint(1) NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -ALTER TABLE `SS13_characters` ADD INDEX(`ckey`); -- -- Table structure for table `SS13_customuseritems` @@ -143,9 +143,9 @@ CREATE TABLE `SS13_donators` ( `start_date` datetime, `end_date` datetime, `active` boolean, - PRIMARY KEY (`patreon_name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; -ALTER TABLE `SS13_donators` ADD INDEX(`ckey`); + PRIMARY KEY (`patreon_name`), + KEY `ckey` (`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -161,9 +161,9 @@ CREATE TABLE `SS13_admin` ( `rank` varchar(32) NOT NULL DEFAULT 'Administrator', `level` int(2) NOT NULL DEFAULT '0', `flags` int(16) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_admin` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -179,9 +179,9 @@ CREATE TABLE `SS13_admin_log` ( `adminckey` varchar(32) NOT NULL, `adminip` varchar(18) NOT NULL, `log` text NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `adminckey` (`adminckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_admin_log` ADD INDEX(`adminckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -215,12 +215,12 @@ CREATE TABLE `SS13_ban` ( `unbanned_ckey` varchar(32) DEFAULT NULL, `unbanned_computerid` varchar(32) DEFAULT NULL, `unbanned_ip` varchar(32) DEFAULT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`), + KEY `computerid` (`computerid`), + KEY `ip` (`ip`) ) ENGINE=InnoDB AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -ALTER TABLE `SS13_ban` ADD INDEX(`ckey`); -ALTER TABLE `SS13_ban` ADD INDEX(`computerid`); -ALTER TABLE `SS13_ban` ADD INDEX(`ip`); -- -- Table structure for table `SS13_feedback` @@ -280,6 +280,7 @@ CREATE TABLE `SS13_player` ( KEY `fuid` (`fuid`), KEY `fupdate` (`fupdate`) ) ENGINE=InnoDB AUTO_INCREMENT=135298 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `SS13_poll_option` @@ -431,10 +432,10 @@ CREATE TABLE `SS13_library` ( `category` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `flagged` int(11) NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`), + KEY `flagged` (`flagged`) ) ENGINE=MyISAM AUTO_INCREMENT=4537 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -ALTER TABLE `SS13_library` ADD INDEX(`ckey`); -ALTER TABLE `SS13_library` ADD INDEX(`flagged`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -515,9 +516,9 @@ CREATE TABLE `SS13_notes` ( `edits` text, `server` varchar(50) NOT NULL, `crew_playtime` mediumint(8) UNSIGNED DEFAULT '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_notes` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -573,9 +574,9 @@ DROP TABLE IF EXISTS `SS13_oauth_tokens`; CREATE TABLE `SS13_oauth_tokens` ( `ckey` varchar(32) NOT NULL, `token` varchar(32) NOT NULL, - PRIMARY KEY (`token`) + PRIMARY KEY (`token`), + KEY `ckey` (`ckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_oauth_tokens` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -602,11 +603,11 @@ CREATE TABLE `SS13_connection_log` ( `ckey` varchar(32) NOT NULL, `ip` varchar(32) NOT NULL, `computerid` varchar(32) NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`), + KEY `ip` (`ip`), + KEY `computerid` (`computerid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_connection_log` ADD INDEX(`ckey`); -ALTER TABLE `SS13_connection_log` ADD INDEX(`ip`); -ALTER TABLE `SS13_connection_log` ADD INDEX(`computerid`); -- -- Table structure for table `SS13_changelog` @@ -630,7 +631,7 @@ CREATE TABLE `SS13_ip2group` ( `ip` varchar (18) NOT NULL, `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, `groupstr` varchar (32) NOT NULL DEFAULT '', - PRIMARY KEY (`ip`) + PRIMARY KEY (`ip`), + KEY `groupstr` (`groupstr`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `SS13_ip2group` ADD INDEX(`groupstr`); From 1e6badbd4a302359a2e6b04b3b30c4be2ddf866d Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 20:52:35 -0700 Subject: [PATCH 16/23] squash --- SQL/paradise_schema.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index ea92018946a..1da10183654 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -97,9 +97,9 @@ CREATE TABLE `customuseritems` ( `cuiReason` text, `cuiPropAdjust` text, `cuiJobMask` text NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `cuiCKey` (`cuiCKey`) ) ENGINE=MyISAM AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `customuseritems` ADD INDEX(`cuiCKey`); /*!40101 SET character_set_client = @saved_cs_client */; -- From 19ad30227ca4727d416b0dda097323cb6fc87f2b Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 21:15:34 -0700 Subject: [PATCH 17/23] sync tables ban, admin_log --- SQL/paradise_schema.sql | 44 ++++++++++++++++---------------- SQL/paradise_schema_prefixed.sql | 44 ++++++++++++++++---------------- SQL/updates/13-14.sql | 25 ++++++++++++++++-- 3 files changed, 67 insertions(+), 46 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 1da10183654..8c055d29125 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -177,9 +177,9 @@ DROP TABLE IF EXISTS `admin_log`; CREATE TABLE `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, + `adminckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `adminip` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL, + `log` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `adminckey` (`adminckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; @@ -195,32 +195,32 @@ DROP TABLE IF EXISTS `ban`; CREATE TABLE `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, + `serverip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `bantype` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `reason` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `job` varchar(32) COLLATE utf8mb4_unicode_ci 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, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `computerid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `ip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `a_ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `a_computerid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `a_ip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `who` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `adminwho` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `edits` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `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, + `unbanned_ckey` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `unbanned_computerid` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `unbanned_ip` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`), KEY `ckey` (`ckey`), KEY `computerid` (`computerid`), KEY `ip` (`ip`) -) ENGINE=InnoDB AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB AUTO_INCREMENT=58903 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -631,9 +631,9 @@ CREATE TABLE `changelog` ( -- DROP TABLE IF EXISTS `ip2group`; CREATE TABLE `ip2group` ( - `ip` varchar (18) NOT NULL, + `ip` varchar (18) COLLATE utf8mb4_unicode_ci NOT NULL, `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, - `groupstr` varchar (32) NOT NULL DEFAULT '', + `groupstr` varchar (32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', PRIMARY KEY (`ip`), KEY `groupstr` (`groupstr`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index 880ceb99a10..19f21fd7d6b 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -176,9 +176,9 @@ DROP TABLE IF EXISTS `SS13_admin_log`; CREATE TABLE `SS13_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, + `adminckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `adminip` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL, + `log` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `adminckey` (`adminckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; @@ -194,32 +194,32 @@ DROP TABLE IF EXISTS `SS13_ban`; CREATE TABLE `SS13_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, + `serverip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `bantype` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `reason` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `job` varchar(32) COLLATE utf8mb4_unicode_ci 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, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `computerid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `ip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `a_ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `a_computerid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `a_ip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `who` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `adminwho` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `edits` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `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, + `unbanned_ckey` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `unbanned_computerid` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `unbanned_ip` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`), KEY `ckey` (`ckey`), KEY `computerid` (`computerid`), KEY `ip` (`ip`) -) ENGINE=InnoDB AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB AUTO_INCREMENT=58903 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -628,9 +628,9 @@ CREATE TABLE `SS13_changelog` ( -- DROP TABLE IF EXISTS `SS13_ip2group`; CREATE TABLE `SS13_ip2group` ( - `ip` varchar (18) NOT NULL, + `ip` varchar (18) COLLATE utf8mb4_unicode_ci NOT NULL, `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, - `groupstr` varchar (32) NOT NULL DEFAULT '', + `groupstr` varchar (32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', PRIMARY KEY (`ip`), KEY `groupstr` (`groupstr`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index c3025196d62..3fdaf7b7cd6 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -4,9 +4,9 @@ # Add new tables used by backend tooling CREATE TABLE `ip2group` ( - `ip` varchar (18) NOT NULL, + `ip` varchar (18) COLLATE utf8mb4_unicode_ci NOT NULL, `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, - `groupstr` varchar (32) NOT NULL DEFAULT '', + `groupstr` varchar (32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', PRIMARY KEY (`ip`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `ip2group` ADD INDEX(`groupstr`); @@ -45,8 +45,29 @@ ALTER TABLE `player` ADD COLUMN `byond_date` DATE; # We (Paradise) do NOT need to run any of these. # They are included here only for the convenience of github contributors, and downstream servers. + +ALTER TABLE `admin_log` CHANGE COLUMN `adminckey` `adminckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `admin_log` CHANGE COLUMN `adminip` `adminip` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `admin_log` CHANGE COLUMN `log` `log` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL; + ALTER TABLE `characters` ADD INDEX(`ckey`); +ALTER TABLE `ban` CHANGE COLUMN `serverip` `serverip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `bantype` `bantype` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `reason` `reason` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `job` `job` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL; +ALTER TABLE `ban` CHANGE COLUMN `ckey` `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `computerid` `computerid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `ip` `ip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `a_ckey` `a_ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `a_computerid` `a_computerid` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `a_ip` `a_ip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `who` `who` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `adminwho` `adminwho` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `ban` CHANGE COLUMN `edits` `edits` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL; +ALTER TABLE `ban` CHANGE COLUMN `unbanned_ckey` `unbanned_ckey` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL; +ALTER TABLE `ban` CHANGE COLUMN `unbanned_computerid` `unbanned_computerid` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL; +ALTER TABLE `ban` CHANGE COLUMN `unbanned_ip` `unbanned_ip` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL; ALTER TABLE `ban` ADD INDEX(`ckey`); ALTER TABLE `ban` ADD INDEX(`computerid`); ALTER TABLE `ban` ADD INDEX(`ip`); From e7dd02bdce85b7cc533a3905604f5ba2a57afdaf Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 21:29:22 -0700 Subject: [PATCH 18/23] sync table characters --- SQL/paradise_schema.sql | 70 ++++++++++++++++---------------- SQL/paradise_schema_prefixed.sql | 70 ++++++++++++++++---------------- SQL/updates/13-14.sql | 36 ++++++++++++++++ 3 files changed, 106 insertions(+), 70 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 8c055d29125..1c5b1648cb9 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -21,33 +21,33 @@ DROP TABLE IF EXISTS `characters`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `characters` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `slot` int(2) NOT NULL, - `OOC_Notes` mediumtext NOT NULL, - `real_name` varchar(45) NOT NULL, + `OOC_Notes` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `real_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, `name_is_always_random` tinyint(1) NOT NULL, - `gender` varchar(11) NOT NULL, + `gender` varchar(11) COLLATE utf8mb4_unicode_ci NOT NULL, `age` smallint(4) NOT NULL, - `species` varchar(45) NOT NULL, - `language` varchar(45) NOT NULL, - `hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `secondary_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `facial_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `secondary_facial_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', + `species` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `language` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `secondary_hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `facial_hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `secondary_facial_hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', `skin_tone` smallint(4) NOT NULL, - `skin_colour` varchar(7) NOT NULL DEFAULT '#000000', - `marking_colours` varchar(255) NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', - `head_accessory_colour` varchar(7) NOT NULL DEFAULT '#000000', - `hair_style_name` varchar(45) NOT NULL, - `facial_style_name` varchar(45) NOT NULL, - `marking_styles` varchar(255) NOT NULL DEFAULT 'head=None&body=None&tail=None', - `head_accessory_style_name` varchar(45) NOT NULL, - `alt_head_name` varchar(45) NOT NULL, - `eye_colour` varchar(7) NOT NULL DEFAULT '#000000', - `underwear` mediumtext NOT NULL, - `undershirt` mediumtext NOT NULL, - `backbag` mediumtext NOT NULL, - `b_type` varchar(45) NOT NULL, + `skin_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `marking_colours` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', + `head_accessory_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `hair_style_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `facial_style_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `marking_styles` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'head=None&body=None&tail=None', + `head_accessory_style_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `alt_head_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `eye_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `underwear` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `undershirt` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `backbag` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `b_type` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, `alternate_option` smallint(4) NOT NULL, `job_support_high` mediumint(8) NOT NULL, `job_support_med` mediumint(8) NOT NULL, @@ -61,23 +61,23 @@ CREATE TABLE `characters` ( `job_karma_high` mediumint(8) NOT NULL, `job_karma_med` mediumint(8) NOT NULL, `job_karma_low` mediumint(8) NOT NULL, - `flavor_text` mediumtext NOT NULL, - `med_record` mediumtext NOT NULL, - `sec_record` mediumtext NOT NULL, - `gen_record` mediumtext NOT NULL, + `flavor_text` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `med_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `sec_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `gen_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `disabilities` mediumint(8) NOT NULL, - `player_alt_titles` mediumtext NOT NULL, - `organ_data` mediumtext NOT NULL, - `rlimb_data` mediumtext NOT NULL, - `nanotrasen_relation` varchar(45) NOT NULL, + `player_alt_titles` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `organ_data` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `rlimb_data` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `nanotrasen_relation` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, `speciesprefs` int(1) NOT NULL, - `socks` mediumtext NOT NULL, - `body_accessory` mediumtext NOT NULL, - `gear` mediumtext NOT NULL, + `socks` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `body_accessory` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `gear` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `autohiss` tinyint(1) NOT NULL, PRIMARY KEY (`id`), KEY `ckey` (`ckey`) -) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=125467 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index 19f21fd7d6b..3bee168f110 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -21,33 +21,33 @@ DROP TABLE IF EXISTS `SS13_characters`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `SS13_characters` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, `slot` int(2) NOT NULL, - `OOC_Notes` mediumtext NOT NULL, - `real_name` varchar(45) NOT NULL, + `OOC_Notes` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `real_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, `name_is_always_random` tinyint(1) NOT NULL, - `gender` varchar(11) NOT NULL, + `gender` varchar(11) COLLATE utf8mb4_unicode_ci NOT NULL, `age` smallint(4) NOT NULL, - `species` varchar(45) NOT NULL, - `language` varchar(45) NOT NULL, - `hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `secondary_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `facial_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', - `secondary_facial_hair_colour` varchar(7) NOT NULL DEFAULT '#000000', + `species` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `language` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `secondary_hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `facial_hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `secondary_facial_hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', `skin_tone` smallint(4) NOT NULL, - `skin_colour` varchar(7) NOT NULL DEFAULT '#000000', - `marking_colours` varchar(255) NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', - `head_accessory_colour` varchar(7) NOT NULL DEFAULT '#000000', - `hair_style_name` varchar(45) NOT NULL, - `facial_style_name` varchar(45) NOT NULL, - `marking_styles` varchar(255) NOT NULL DEFAULT 'head=None&body=None&tail=None', - `head_accessory_style_name` varchar(45) NOT NULL, - `alt_head_name` varchar(45) NOT NULL, - `eye_colour` varchar(7) NOT NULL DEFAULT '#000000', - `underwear` mediumtext NOT NULL, - `undershirt` mediumtext NOT NULL, - `backbag` mediumtext NOT NULL, - `b_type` varchar(45) NOT NULL, + `skin_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `marking_colours` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', + `head_accessory_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `hair_style_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `facial_style_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `marking_styles` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'head=None&body=None&tail=None', + `head_accessory_style_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `alt_head_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `eye_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000', + `underwear` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `undershirt` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `backbag` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `b_type` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, `alternate_option` smallint(4) NOT NULL, `job_support_high` mediumint(8) NOT NULL, `job_support_med` mediumint(8) NOT NULL, @@ -61,23 +61,23 @@ CREATE TABLE `SS13_characters` ( `job_karma_high` mediumint(8) NOT NULL, `job_karma_med` mediumint(8) NOT NULL, `job_karma_low` mediumint(8) NOT NULL, - `flavor_text` mediumtext NOT NULL, - `med_record` mediumtext NOT NULL, - `sec_record` mediumtext NOT NULL, - `gen_record` mediumtext NOT NULL, + `flavor_text` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `med_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `sec_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `gen_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `disabilities` mediumint(8) NOT NULL, - `player_alt_titles` mediumtext NOT NULL, - `organ_data` mediumtext NOT NULL, - `rlimb_data` mediumtext NOT NULL, - `nanotrasen_relation` varchar(45) NOT NULL, + `player_alt_titles` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `organ_data` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `rlimb_data` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `nanotrasen_relation` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, `speciesprefs` int(1) NOT NULL, - `socks` mediumtext NOT NULL, - `body_accessory` mediumtext NOT NULL, - `gear` mediumtext NOT NULL, + `socks` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `body_accessory` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `gear` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `autohiss` tinyint(1) NOT NULL, PRIMARY KEY (`id`), KEY `ckey` (`ckey`) -) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=125467 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 3fdaf7b7cd6..12220d17bef 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -50,6 +50,42 @@ ALTER TABLE `admin_log` CHANGE COLUMN `adminckey` `adminckey` varchar(32) COLLAT ALTER TABLE `admin_log` CHANGE COLUMN `adminip` `adminip` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL; ALTER TABLE `admin_log` CHANGE COLUMN `log` `log` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `ckey` `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `OOC_Notes` `OOC_Notes` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `real_name` `real_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `gender` `gender` varchar(11) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `species` `species` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `language` `language` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `hair_colour` `hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000'; +ALTER TABLE `characters` CHANGE COLUMN `secondary_hair_colour` `secondary_hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000'; +ALTER TABLE `characters` CHANGE COLUMN `facial_hair_colour` `facial_hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000'; +ALTER TABLE `characters` CHANGE COLUMN `secondary_facial_hair_colour` `secondary_facial_hair_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000'; +ALTER TABLE `characters` CHANGE COLUMN `skin_colour` `skin_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000'; +ALTER TABLE `characters` CHANGE COLUMN `marking_colours` `marking_colours` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000'; +ALTER TABLE `characters` CHANGE COLUMN `head_accessory_colour` `head_accessory_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000'; +ALTER TABLE `characters` CHANGE COLUMN `hair_style_name` `hair_style_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `facial_style_name` `facial_style_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `marking_styles` `marking_styles` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'head=None&body=None&tail=None'; +ALTER TABLE `characters` CHANGE COLUMN `head_accessory_style_name` `head_accessory_style_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `alt_head_name` `alt_head_name` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `eye_colour` `eye_colour` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#000000'; +ALTER TABLE `characters` CHANGE COLUMN `underwear` `underwear` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `undershirt` `undershirt` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `backbag` `backbag` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL; +ALTER TABLE `characters` CHANGE COLUMN `b_type` `b_type` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `flavor_text` `flavor_text` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `med_record` `med_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `sec_record` `sec_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `gen_record` `gen_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `player_alt_titles` `player_alt_titles` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `organ_data` `organ_data` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `rlimb_data` `rlimb_data` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `nanotrasen_relation` `nanotrasen_relation` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `socks` `socks` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `body_accessory` `body_accessory` longtext COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `characters` CHANGE COLUMN `gear` `gear` longtext COLLATE utf8mb4_unicode_ci NOT NULL; + + ALTER TABLE `characters` ADD INDEX(`ckey`); ALTER TABLE `ban` CHANGE COLUMN `serverip` `serverip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; From f78f9eeeb1c66ed58b9b58d007edd5e652e2aaa8 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 21:36:14 -0700 Subject: [PATCH 19/23] sync table admin --- SQL/paradise_schema.sql | 4 ++-- SQL/paradise_schema_prefixed.sql | 4 ++-- SQL/updates/13-14.sql | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 1c5b1648cb9..e91796829cf 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -158,8 +158,8 @@ DROP TABLE IF EXISTS `admin`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `admin` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, - `rank` varchar(32) NOT NULL DEFAULT 'Administrator', + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `rank` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Administrator', `level` int(2) NOT NULL DEFAULT '0', `flags` int(16) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index 3bee168f110..b1f5dd5c0a6 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -157,8 +157,8 @@ DROP TABLE IF EXISTS `SS13_admin`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `SS13_admin` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, - `rank` varchar(32) NOT NULL DEFAULT 'Administrator', + `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL, + `rank` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Administrator', `level` int(2) NOT NULL DEFAULT '0', `flags` int(16) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 12220d17bef..9803ed5e541 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -45,6 +45,8 @@ ALTER TABLE `player` ADD COLUMN `byond_date` DATE; # We (Paradise) do NOT need to run any of these. # They are included here only for the convenience of github contributors, and downstream servers. +ALTER TABLE `admin` CHANGE COLUMN `ckey` `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; +ALTER TABLE `admin` CHANGE COLUMN `rank` `rank` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Administrator'; ALTER TABLE `admin_log` CHANGE COLUMN `adminckey` `adminckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; ALTER TABLE `admin_log` CHANGE COLUMN `adminip` `adminip` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL; From c33ebb7c04d7c63c7d413ce518e6997e523b14c4 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 21:45:40 -0700 Subject: [PATCH 20/23] comments --- SQL/updates/13-14.sql | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 9803ed5e541..458b574e014 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -26,11 +26,15 @@ ALTER TABLE `library` ADD INDEX(`ckey`); ALTER TABLE `library` ADD INDEX(`flagged`); ALTER TABLE `notes` ADD INDEX(`ckey`); ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); + + +# Alter whitelist table to change ckey format to avoid SQL failures when downstreams apply indexes + ALTER TABLE `whitelist` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `id`; -# Delete pointless indexes +# Delete pointless indexes (there is already an index on ckey, having a second index on the exact same data is pointless) DROP INDEX ckey_UNIQUE ON privacy; @@ -41,7 +45,8 @@ DROP INDEX ckey_UNIQUE ON privacy; ALTER TABLE `player` ADD COLUMN `byond_date` DATE; -# These updates change your DB to match what we (Paradise) ALREADY USE IN PRODUCTION +# **************** READ THIS CAREFULLY ********************************************************** +# These updates change your DB to match what we (Paradise) ALREADY USE IN PRODUCTION. # We (Paradise) do NOT need to run any of these. # They are included here only for the convenience of github contributors, and downstream servers. @@ -87,7 +92,6 @@ ALTER TABLE `characters` CHANGE COLUMN `socks` `socks` longtext COLLATE utf8mb4_ ALTER TABLE `characters` CHANGE COLUMN `body_accessory` `body_accessory` longtext COLLATE utf8mb4_unicode_ci NOT NULL; ALTER TABLE `characters` CHANGE COLUMN `gear` `gear` longtext COLLATE utf8mb4_unicode_ci NOT NULL; - ALTER TABLE `characters` ADD INDEX(`ckey`); ALTER TABLE `ban` CHANGE COLUMN `serverip` `serverip` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL; From eec4db158b36e02f71cb26652a5e253b3bdbdd6e Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 25 Oct 2020 02:29:12 -0700 Subject: [PATCH 21/23] re-add byond_date --- SQL/paradise_schema.sql | 1 + SQL/paradise_schema_prefixed.sql | 1 + 2 files changed, 2 insertions(+) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index e91796829cf..671d0f0339a 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -273,6 +273,7 @@ CREATE TABLE `player` ( `fuid` bigint(20) DEFAULT NULL, `fupdate` smallint(4) DEFAULT '0', `parallax` tinyint(1) DEFAULT '8', + `byond_date` DATE DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`), KEY `lastseen` (`lastseen`), diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index b1f5dd5c0a6..68071224cc2 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -272,6 +272,7 @@ CREATE TABLE `SS13_player` ( `fuid` bigint(20) DEFAULT NULL, `fupdate` smallint(4) DEFAULT '0', `parallax` tinyint(1) DEFAULT '8', + `byond_date` DATE DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`), KEY `lastseen` (`lastseen`), From dbe76fa17cc690a6f52a20bbb71e00937cf13f42 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 25 Oct 2020 13:13:35 -0700 Subject: [PATCH 22/23] cleanup --- SQL/updates/13-14.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 458b574e014..3b847b59b3e 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -7,9 +7,9 @@ CREATE TABLE `ip2group` ( `ip` varchar (18) COLLATE utf8mb4_unicode_ci NOT NULL, `date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL, `groupstr` varchar (32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - PRIMARY KEY (`ip`) + PRIMARY KEY (`ip`), + KEY `groupstr` (`groupstr`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -ALTER TABLE `ip2group` ADD INDEX(`groupstr`); @@ -42,7 +42,7 @@ DROP INDEX ckey_UNIQUE ON privacy; # Add player table field that AA plans to use very soon to store byond account creation date -ALTER TABLE `player` ADD COLUMN `byond_date` DATE; +ALTER TABLE `player` ADD COLUMN `byond_date` DATE DEFAULT NULL; # **************** READ THIS CAREFULLY ********************************************************** From 6349f2f1543c1cfb3400d87581c5a2217498db23 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sun, 25 Oct 2020 13:21:35 -0700 Subject: [PATCH 23/23] library.ckey -> varchar(32) like the others --- SQL/updates/13-14.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 3b847b59b3e..2b53b5799fb 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -32,6 +32,9 @@ ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); ALTER TABLE `whitelist` CHANGE COLUMN `ckey` `ckey` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `id`; +# Alter library table to standardize ckey field length + +ALTER TABLE `library` CHANGE COLUMN `ckey` `ckey` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL AFTER `category`; # Delete pointless indexes (there is already an index on ckey, having a second index on the exact same data is pointless)