@@ -13,7 +13,7 @@ CREATE TABLE Players (
1313 hardcore_ironman BOOLEAN ,
1414 ultimate_ironman BOOLEAN ,
1515 normalized_name VARCHAR (50 ),
16- UNIQUE KEY ` Unique_name` ( ` name` )
16+ UNIQUE KEY Unique_name ( name)
1717);
1818-- these tables are for future use
1919-- CREATE TABLE player (
@@ -46,7 +46,6 @@ CREATE TABLE Players (
4646-- PRIMARY KEY (player_id, updated_at)
4747-- ) PARTITION BY HASH (player_id) PARTITIONS 10;
4848-- Foreign keys are not yet supported in conjunction with partitioning
49-
5049CREATE TABLE highscore_data_latest (
5150 player_id INT UNSIGNED NOT NULL ,
5251 scrape_date DATE NOT NULL ,
@@ -57,7 +56,6 @@ CREATE TABLE highscore_data_latest (
5756 activities JSON DEFAULT NULL ,
5857 PRIMARY KEY (player_id)
5958) PARTITION BY HASH (player_id) PARTITIONS 10 ;
60-
6159CREATE TABLE highscore_data_daily (
6260 player_id INT UNSIGNED NOT NULL ,
6361 scrape_date DATE NOT NULL ,
@@ -69,7 +67,6 @@ CREATE TABLE highscore_data_daily (
6967 activities JSON DEFAULT NULL ,
7068 PRIMARY KEY (player_id, scrape_date)
7169) PARTITION BY HASH (player_id) PARTITIONS 10 ;
72-
7370CREATE TABLE highscore_data_weekly (
7471 player_id INT UNSIGNED NOT NULL ,
7572 scrape_date DATE NOT NULL ,
@@ -81,7 +78,6 @@ CREATE TABLE highscore_data_weekly (
8178 activities JSON DEFAULT NULL ,
8279 PRIMARY KEY (player_id, scrape_year, scrape_week)
8380) PARTITION BY HASH (player_id) PARTITIONS 10 ;
84-
8581CREATE TABLE highscore_data_monthly (
8682 player_id INT UNSIGNED NOT NULL ,
8783 scrape_date DATE NOT NULL ,
@@ -93,7 +89,6 @@ CREATE TABLE highscore_data_monthly (
9389 activities JSON DEFAULT NULL ,
9490 PRIMARY KEY (player_id, scrape_year, scrape_month)
9591) PARTITION BY HASH (player_id) PARTITIONS 10 ;
96-
9792CREATE TABLE Predictions (
9893 id INT PRIMARY KEY AUTO_INCREMENT,
9994 name VARCHAR (12 ),
@@ -129,7 +124,6 @@ CREATE TABLE Predictions (
129124 nex_bot DECIMAL (5 , 2 ) DEFAULT 0 ,
130125 unknown_bot DECIMAL (5 , 2 ) DEFAULT 0
131126);
132-
133127CREATE TABLE PredictionsFeedback (
134128 id INT PRIMARY KEY AUTO_INCREMENT,
135129 ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
@@ -148,16 +142,64 @@ CREATE TABLE PredictionsFeedback (
148142 subject_id,
149143 voter_id
150144 ) USING BTREE,
151- CONSTRAINT ` FK_Subject_ID` FOREIGN KEY (` subject_id` ) REFERENCES ` Players` ( ` id ` ) ON DELETE RESTRICT ON UPDATE RESTRICT,
152- CONSTRAINT ` FK_Voter_ID` FOREIGN KEY (` voter_id` ) REFERENCES ` Players` ( ` id ` ) ON DELETE RESTRICT ON UPDATE RESTRICT
145+ CONSTRAINT FK_Subject_ID FOREIGN KEY (subject_id) REFERENCES Players (id ) ON DELETE RESTRICT ON UPDATE RESTRICT,
146+ CONSTRAINT FK_Voter_ID FOREIGN KEY (voter_id) REFERENCES Players (id ) ON DELETE RESTRICT ON UPDATE RESTRICT
153147);
154-
155- CREATE TABLE `report_sighting ` (
156- ` report_sighting_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
157- ` reporting_id` INT UNSIGNED NOT NULL ,
158- ` reported_id` INT UNSIGNED NOT NULL ,
159- ` manual_detect` TINYINT (1 ) DEFAULT 0 ,
160- PRIMARY key (` report_sighting_id` ),
161- UNIQUE KEY unique_sighting (` reporting_id` , ` reported_id` , ` manual_detect` ),
162- KEY idx_reported_id (` reported_id` )
148+ CREATE TABLE report_sighting (
149+ report_sighting_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
150+ reporting_id INT UNSIGNED NOT NULL ,
151+ reported_id INT UNSIGNED NOT NULL ,
152+ manual_detect TINYINT (1 ) DEFAULT 0 ,
153+ PRIMARY key (report_sighting_id),
154+ UNIQUE KEY unique_sighting (reporting_id, reported_id, manual_detect),
155+ KEY idx_reported_id (reported_id)
156+ );
157+ CREATE TABLE report_gear (
158+ report_gear_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
159+ equip_head_id SMALLINT UNSIGNED DEFAULT NULL ,
160+ equip_amulet_id SMALLINT UNSIGNED DEFAULT NULL ,
161+ equip_torso_id SMALLINT UNSIGNED DEFAULT NULL ,
162+ equip_legs_id SMALLINT UNSIGNED DEFAULT NULL ,
163+ equip_boots_id SMALLINT UNSIGNED DEFAULT NULL ,
164+ equip_cape_id SMALLINT UNSIGNED DEFAULT NULL ,
165+ equip_hands_id SMALLINT UNSIGNED DEFAULT NULL ,
166+ equip_weapon_id SMALLINT UNSIGNED DEFAULT NULL ,
167+ equip_shield_id SMALLINT UNSIGNED DEFAULT NULL ,
168+ PRIMARY key (report_gear_id),
169+ UNIQUE KEY unique_gear (
170+ equip_head_id,
171+ equip_amulet_id,
172+ equip_torso_id,
173+ equip_legs_id,
174+ equip_boots_id,
175+ equip_cape_id,
176+ equip_hands_id,
177+ equip_weapon_id,
178+ equip_shield_id
179+ )
180+ );
181+ CREATE TABLE report_location (
182+ report_location_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
183+ region_id MEDIUMINT UNSIGNED NOT NULL ,
184+ x_coord MEDIUMINT UNSIGNED NOT NULL ,
185+ y_coord MEDIUMINT UNSIGNED NOT NULL ,
186+ z_coord MEDIUMINT UNSIGNED NOT NULL ,
187+ PRIMARY key (report_location_id),
188+ UNIQUE KEY unique_location (region_id, x_coord, y_coord, z_coord)
189+ );
190+ CREATE TABLE report (
191+ report_sighting_id INT UNSIGNED NOT NULL ,
192+ report_location_id INT UNSIGNED NOT NULL ,
193+ report_gear_id INT UNSIGNED NOT NULL ,
194+ created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ,
195+ reported_at timestamp NOT NULL ,
196+ on_members_world TINYINT (1 ) DEFAULT NULL ,
197+ on_pvp_world TINYINT (1 ) DEFAULT NULL ,
198+ world_number SMALLINT UNSIGNED DEFAULT NULL ,
199+ region_id MEDIUMINT UNSIGNED NOT NULL ,
200+ PRIMARY key (
201+ report_sighting_id,
202+ report_location_id,
203+ region_id
204+ )
163205);
0 commit comments