You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.7 KiB
51 lines
1.7 KiB
DROP DATABASE IF EXISTS `territory-walker`;
|
|
CREATE DATABASE `territory-walker`;
|
|
USE `territory-walker`;
|
|
|
|
CREATE TABLE `gameInstances` (
|
|
gameID VARCHAR(6) UNIQUE NOT NULL,
|
|
PRIMARY KEY (gameID)
|
|
);
|
|
|
|
CREATE TABLE `users` (
|
|
userID VARCHAR(6) UNIQUE NOT NULL,
|
|
nickname VARCHAR (40) NOT NULL,
|
|
PRIMARY KEY (userID)
|
|
);
|
|
|
|
CREATE TABLE `userJoinedGames` (
|
|
userID VARCHAR(6) NOT NULL,
|
|
gameID VARCHAR(6) NOT NULL,
|
|
colour VARCHAR(6) NOT NULL,
|
|
FOREIGN KEY (userID) REFERENCES users(userID),
|
|
FOREIGN KEY (gameID) REFERENCES gameInstances(gameID),
|
|
PRIMARY KEY (userID, gameID)
|
|
);
|
|
|
|
CREATE TABLE `polygonArea` (
|
|
gameID VARCHAR(6) UNIQUE NOT NULL,
|
|
polygonID VARCHAR(36) UNIQUE NOT NULL,
|
|
userID VARCHAR(6) NOT NULL,
|
|
area DOUBLE(30,4) NOT NULL,
|
|
PRIMARY KEY (polygonID),
|
|
FOREIGN KEY (gameID) REFERENCES gameInstances(gameID),
|
|
FOREIGN KEY (userID) REFERENCES users(userID)
|
|
);
|
|
|
|
CREATE TABLE `polygonPoints` (
|
|
polygonID VARCHAR(36) NOT NULL,
|
|
lat DOUBLE(11,8) NOT NULL,
|
|
lng DOUBLE(11,8) NOT NULL,
|
|
FOREIGN KEY (polygonID) REFERENCES polygonArea(polygonID)
|
|
);
|
|
|
|
INSERT INTO `gameInstances` (gameID) VALUES ("samdum");
|
|
INSERT INTO `users` (userID, nickname) VALUES ("samded", "Lesmaux");
|
|
INSERT INTO `users` (userID, nickname) VALUES ("fanded", "Umbra Sheep");
|
|
-- TODO CREATE PROCEDURE FOR GENERATING GAME ID
|
|
-- concat(substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
|
|
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
|
|
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
|
|
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
|
|
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
|
|
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1)) |