53 lines
2.3 KiB
SQL
53 lines
2.3 KiB
SQL
CREATE TABLE `challenges` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`token` int(10) unsigned NOT NULL,
|
|
`time_limit` int(10) unsigned,
|
|
`no_move` tinyint(1) NOT NULL DEFAULT 0,
|
|
`no_pan` tinyint(1) NOT NULL DEFAULT 0,
|
|
`no_zoom` tinyint(1) NOT NULL DEFAULT 0,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
|
|
|
CREATE TABLE `user_in_challenge` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`user_id` int(10) unsigned NOT NULL,
|
|
`challenge_id` int(10) unsigned NOT NULL,
|
|
`current_round` smallint(5) signed NOT NULL DEFAULT 0,
|
|
`time_left` int(10) unsigned,
|
|
`is_owner` tinyint(1) NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (`id`),
|
|
KEY `user_id` (`user_id`),
|
|
KEY `challenge_id` (`challenge_id`),
|
|
CONSTRAINT `user_in_challenge_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
|
|
CONSTRAINT `user_in_challenge_challenge_id` FOREIGN KEY (`challenge_id`) REFERENCES `challenges` (`id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
|
|
|
CREATE TABLE `place_in_challenge` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`place_id` int(10) unsigned NOT NULL,
|
|
`challenge_id` int(10) unsigned NOT NULL,
|
|
`round` smallint(5) unsigned NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `place_id` (`place_id`),
|
|
KEY `challenge_id` (`challenge_id`),
|
|
CONSTRAINT `place_in_challenge_place_id` FOREIGN KEY (`place_id`) REFERENCES `places` (`id`),
|
|
CONSTRAINT `place_in_challenge_challenge_id` FOREIGN KEY (`challenge_id`) REFERENCES `challenges` (`id`),
|
|
CONSTRAINT `unique_order_in_challenge` UNIQUE (`round`, `challenge_id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
|
|
|
CREATE TABLE `guesses` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`user_id` int(10) unsigned NOT NULL,
|
|
`place_in_challenge_id` int(10) unsigned NOT NULL,
|
|
`lat` decimal(8,6) NOT NULL,
|
|
`lng` decimal(9,6) NOT NULL,
|
|
`score` int(10) NOT NULL,
|
|
`distance` int(10) NOT NULL,
|
|
`time_spent` int(10),
|
|
PRIMARY KEY (`id`),
|
|
KEY `user_id` (`user_id`),
|
|
KEY `place_in_challenge_id` (`place_in_challenge_id`),
|
|
CONSTRAINT `guesses_user_id` FOREIGN KEY (`user_id`) REFERENCES `places` (`id`),
|
|
CONSTRAINT `guesses_place_in_challenge_id` FOREIGN KEY (`place_in_challenge_id`) REFERENCES `place_in_challenge` (`id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; |