49 lines
1.4 KiB
SQL
49 lines
1.4 KiB
SQL
CREATE TABLE ElectionInformation(
|
|
ElectionCycle varchar(30) not null unique,
|
|
ThreadId bigint unsigned not null,
|
|
CouncilVoteMsgId bigint unsigned,
|
|
HighCouncilVoteMsgId bigint unsigned,
|
|
CouncilNominationMsgId bigint unsigned,
|
|
HighCouncilNominationMsgId bigint unsigned,
|
|
PRIMARY KEY (ElectionCycle)
|
|
);
|
|
|
|
CREATE TABLE CouncilMembers(
|
|
ElectionCycle varchar(30) not null,
|
|
MemberId bigint unsigned not null,
|
|
SpeechMsgId bigint unsigned not null,
|
|
Elected boolean DEFAULT false,
|
|
DiscordManager boolean DEFAULT false,
|
|
ClanLeader boolean DEFAULT false,
|
|
DiscordManagerSpeechId bigint unsigned,
|
|
ClanLeaderSpeechId bigint unsigned,
|
|
FOREIGN KEY (ElectionCycle) REFERENCES ElectionInformation(ElectionCycle),
|
|
PRIMARY KEY (ElectionCycle, MemberId)
|
|
);
|
|
|
|
CREATE TABLE Votes(
|
|
ElectionCycle varchar(30) not null,
|
|
VoterId bigint unsigned not null,
|
|
VotedForId bigint unsigned,
|
|
FOREIGN KEY (ElectionCycle) REFERENCES ElectionInformation(ElectionCycle),
|
|
PRIMARY KEY (ElectionCycle, VoterId)
|
|
);
|
|
|
|
CREATE TABLE UserBirthday (
|
|
UserId bigint unsigned not null,
|
|
Birthday varchar(5) not null,
|
|
PRIMARY KEY (UserId)
|
|
);
|
|
|
|
CREATE TABLE Presences (
|
|
Id integer PRIMARY KEY,
|
|
Presence varchar(100) not null
|
|
);
|
|
|
|
CREATE TABLE ParticipationPoints (
|
|
Cycle varchar(30) not null,
|
|
UserId varchar(32) not null,
|
|
DiscordMember boolean not null,
|
|
Points int unsigned DEFAULT 0,
|
|
PRIMARY KEY (Cycle, UserId)
|
|
); |