Update Persistence
parent
9ff6b8e559
commit
8cd9f26321
@ -1 +1,58 @@
|
|||||||
## Persistence will be added once database and back-end is finished
|
All data is stored in the MySQL-database. User sessions are stored in server memory.
|
||||||
|
|
||||||
|
#### ER-Diagram
|
||||||
|
|
||||||
|
![entityRelationshipDiagram](uploads/c1ff984303b489fdbff06b26705af2a0/entityRelationshipDiagram.png)
|
||||||
|
|
||||||
|
|
||||||
|
##### The SQL calls to create the database tables needed:
|
||||||
|
|
||||||
|
```sql
|
||||||
|
-- WARNING: Will delete EVERYTHING in the database!
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS matches;
|
||||||
|
DROP TABLE IF EXISTS teams;
|
||||||
|
DROP TABLE IF EXISTS tournaments;
|
||||||
|
DROP TABLE IF EXISTS users;
|
||||||
|
|
||||||
|
-- Create the tables
|
||||||
|
CREATE TABLE tournaments (
|
||||||
|
id INTEGER PRIMARY KEY AUTO_INCREMENT,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
description TEXT,
|
||||||
|
prize TEXT,
|
||||||
|
teamLimit INTEGER NOT NULL,
|
||||||
|
startTime DATETIME NOT NULL,
|
||||||
|
endTime DATETIME NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE teams (
|
||||||
|
id INTEGER PRIMARY KEY AUTO_INCREMENT,
|
||||||
|
tournamentId INTEGER NOT NULL,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
|
||||||
|
FOREIGN KEY (tournamentId) REFERENCES tournaments (id) ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE matches (
|
||||||
|
id INTEGER PRIMARY KEY AUTO_INCREMENT,
|
||||||
|
tournamentId INTEGER NOT NULL,
|
||||||
|
parentMatchId INTEGER,
|
||||||
|
team1Id INTEGER,
|
||||||
|
team2Id INTEGER,
|
||||||
|
winnerId INTEGER,
|
||||||
|
tier INTEGER,
|
||||||
|
|
||||||
|
FOREIGN KEY (tournamentId) REFERENCES tournaments (id) ON DELETE CASCADE,
|
||||||
|
FOREIGN KEY (team1Id) REFERENCES teams (id) ON DELETE SET NULL,
|
||||||
|
FOREIGN KEY (team2Id) REFERENCES teams (id) ON DELETE SET NULL,
|
||||||
|
FOREIGN KEY (winnerId) REFERENCES teams (id) ON DELETE SET NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE users (
|
||||||
|
id INTEGER PRIMARY KEY AUTO_INCREMENT,
|
||||||
|
googleId TEXT,
|
||||||
|
name TEXT,
|
||||||
|
email TEXT NOT NULL,
|
||||||
|
isManager BOOLEAN NOT NULL
|
||||||
|
);
|
Loading…
Reference in New Issue
Block a user