Files
projects-jenz/RaceTimer_2026/sql/create_tables.sql
T

57 lines
2.3 KiB
SQL

-- unloze_racetimer_css_2026.players definition
CREATE TABLE `players` (
`steam_auth` varchar(64) NOT NULL,
`name` varchar(254) NOT NULL,
`is_ignoring` tinyint(1) NOT NULL DEFAULT 0,
`first_seen` timestamp NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`steam_auth`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- unloze_racetimer_css_2026.zone_categories definition
CREATE TABLE `zone_categories` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`map_name` varchar(254) NOT NULL,
`stage` int(10) unsigned NOT NULL DEFAULT 1,
`server_tag` varchar(16) NOT NULL,
`server_cvars` text NOT NULL,
`cvars_hash` int(11) NOT NULL,
`is_invalid` tinyint(1) NOT NULL DEFAULT 0,
`first_recorded_at` timestamp NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
UNIQUE KEY `uq_zone_cvarset` (`map_name`,`stage`,`cvars_hash`),
KEY `idx_zone_category_order` (`map_name`,`stage`,`first_recorded_at`,`id`)
) ENGINE=InnoDB AUTO_INCREMENT=447 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- unloze_racetimer_css_2026.timer_improvements definition
CREATE TABLE `timer_improvements` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`steam_auth` varchar(64) NOT NULL,
`steam_name` varchar(254) NOT NULL,
`recorded_at` timestamp NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
KEY `idx_player_history` (`steam_auth`,`recorded_at`),
CONSTRAINT `fk_improvement_player` FOREIGN KEY (`steam_auth`) REFERENCES `players` (`steam_auth`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- unloze_racetimer_css_2026.timer_records definition
CREATE TABLE `timer_records` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`improvement_id` bigint(20) unsigned NOT NULL,
`zone_category_id` int(10) unsigned NOT NULL,
`time_value` decimal(10,3) NOT NULL,
`is_invalid` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
KEY `idx_leaderboard` (`zone_category_id`,`time_value`),
KEY `idx_improvement` (`improvement_id`),
CONSTRAINT `fk_record_category` FOREIGN KEY (`zone_category_id`) REFERENCES `zone_categories` (`id`),
CONSTRAINT `fk_record_improvement` FOREIGN KEY (`improvement_id`) REFERENCES `timer_improvements` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;