created setup and backend structure

This commit is contained in:
z1glr
2025-01-07 00:51:03 +00:00
parent 063f22569d
commit 03b2b0e206
11 changed files with 306 additions and 1 deletions

44
setup/setup.sql Normal file
View File

@@ -0,0 +1,44 @@
CREATE TABLE TASKS (
id INTEGER PRIMARY KEY AUTO_INCREMENT,
text varchar(64) NOT NULL,
disabled BOOL DEFAULT(false)
);
CREATE TABLE AVAILABILITIES (
id INTEGER PRIMARY KEY AUTO_INCREMENT,
text varchar(32) NOT NULL,
disabled BOOL DEFAULT(false)
);
CREATE TABLE USERS (
id INTEGER PRIMARY KEY AUTO_INCREMENT,
name varchar(64) NOT NULL,
password binary(60) NOT NULL,
admin BOOL NOT NULL DEFAULT(false)
);
CREATE TABLE EVENTS (
id INTEGER PRIMARY KEY AUTO_INCREMENT,
date DATETIME NOT NULL,
description TEXT DEFAULT("")
);
CREATE TABLE USER_AVAILABILITIES (
userID INTEGER NOT NULL,
eventID INTEGER NOT NULL,
availabilityID INTEGER NOT NULL,
PRIMARY KEY (userID, eventID),
FOREIGN KEY (userID) REFERENCES USERS(id) ON DELETE CASCADE,
FOREIGN KEY (eventID) REFERENCES EVENTS(id) ON DELETE CASCADE,
FOREIGN KEY (avaibID) REFERENCES AVAILABILITIES(id) ON DELETE RESTRICT,
);
CREATE TABLE USER_ASSIGNMENTS (
eventID INTEGER NOT NULL,
taskID INTEGER NOT NULL,
userID INTEGER NOT NULL,
PRIMARY KEY (eventID, taskID),
FOREIGN KEY (userID) REFERENCES USERS(id) ON DELETE CASCADE,
FOREIGN KEY (taskID) REFERENCES TASKS(id) ON DELETE RESTRICT,
FOREIGN KEY (eventID) REFERENCES EVENTS(id) ON DELETE CASCADE
);