feature/MAPG-235-basic-challenge-mode #48
50
database/migrations/structure/20210510_2000_challenge.sql
Normal file
50
database/migrations/structure/20210510_2000_challenge.sql
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
CREATE TABLE `challenges` (
|
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`token` int(10) unsigned NOT NULL,
|
||||||
|
`timer_sec` 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,
|
||||||
|
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,
|
||||||
|
`round` smallint(5) signed NOT NULL DEFAULT -1,
|
||||||
|
`score` int(10) unsigned NOT NULL DEFAULT 0,
|
||||||
|
`time_left` int(10) unsigned,
|
||||||
|
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,
|
||||||
|
`order` 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 (`order`, `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,
|
||||||
|
`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;
|
Loading…
Reference in New Issue
Block a user