Add files for docker sql server.

This commit is contained in:
alwayscompiling
2022-11-25 14:15:55 -05:00
parent c4d5477f8b
commit 6b7dd6042d
2 changed files with 46 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
FROM mysql:latest
ENV MYSQL_ROOT_PASSWORD=root
COPY highscores_database.sql /docker-entrypoint-initdb.d/
+41
View File
@@ -0,0 +1,41 @@
CREATE DATABASE highscores;
use highscores;
CREATE TABLE Guilds(
GuildId int not null,
SubmissionChannel int,
UsernameLength smallint DEFAULT 12,
VerificationChannel int,
PRIMARY KEY (GuildId)
);
CREATE TABLE CategoryGroups(
ChannelId int,
GroupId int not null AUTO_INCREMENT,
GroupName varchar(50) not null,
GuildId int not null,
MessageId int,
PadLength smallint not null DEFAULT 26,
Size smallint not null, -- unsure if I like this name. Also unsure belong here or in Category
FOREIGN KEY (GuildId) REFERENCES Guilds(GuildId),
PRIMARY KEY (GroupId)
);
CREATE TABLE Categories(
CategoryId int not null AUTO_INCREMENT,
CategoryName varchar(30) not null,
GroupId int not null,
IsAscending boolean not null DEFAULT true,
IsTimeRecord boolean not null DEFAULT false,
IsValidated boolean not null DEFAULT true,
FOREIGN KEY (GroupId) REFERENCES CategoryGroups(GroupId),
PRIMARY Key (CategoryId)
);
CREATE TABLE Scores(
UserName varchar(30) not null,
Score float not null, -- Maybe should have time and int scores?? timestamp type?
CategoryId int not null,
FOREIGN KEY (CategoryId) REFERENCES Categories(CategoryId),
CONSTRAINT PKScore PRIMARY KEY (CategoryId, UserName) -- i think this means there isnt a column for this key but the key is made up of categoryid and username
);