diff options
| author | Syndamia <kamen@syndamia.com> | 2025-01-18 20:40:37 +0200 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-01-19 07:46:17 +0200 |
| commit | abbb2450772fc4813268ea5482d8805c42e5bc98 (patch) | |
| tree | 8b6cd4347e41ed7f1dd3e1a441093497296ed71a /migrations/00-initial.sql | |
| parent | 1a933680ca55543c5e15a7f56606a920991c5ae8 (diff) | |
| download | nowayforward_human-abbb2450772fc4813268ea5482d8805c42e5bc98.tar nowayforward_human-abbb2450772fc4813268ea5482d8805c42e5bc98.tar.gz nowayforward_human-abbb2450772fc4813268ea5482d8805c42e5bc98.zip | |
feat(migrations): Add anonymous user
Diffstat (limited to 'migrations/00-initial.sql')
| -rw-r--r-- | migrations/00-initial.sql | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/migrations/00-initial.sql b/migrations/00-initial.sql new file mode 100644 index 0000000..8ac5ac0 --- /dev/null +++ b/migrations/00-initial.sql @@ -0,0 +1,45 @@ +CREATE DATABASE IF NOT EXISTS nwfh; +USE nwfh; + +CREATE TABLE IF NOT EXISTS Users ( + UID INT NOT NULL AUTO_INCREMENT, + Username VARCHAR(50) NOT NULL UNIQUE, + Password VARCHAR(50) NOT NULL, + Role ENUM('User', 'Admin') NOT NULL, + PRIMARY KEY (UID) +); + +CREATE TABLE IF NOT EXISTS Cookies ( + UID INT NOT NULL AUTO_INCREMENT, + Token CHAR(32) NOT NULL, + Expires DATETIME, + PRIMARY KEY (UID, Token), + FOREIGN KEY (UID) REFERENCES Users(UID) +); + +CREATE TABLE IF NOT EXISTS Webpage ( + WID INT NOT NULL AUTO_INCREMENT, + Path VARCHAR(512) NOT NULL UNIQUE, + URL VARCHAR(512) NOT NULL, + Date DATETIME NOT NULL, + Visits INT NOT NULL, + RequesterUID INT NOT NULL, + PRIMARY KEY (WID), + FOREIGN KEY (RequesterUID) REFERENCES Users(UID) +); + +CREATE TABLE IF NOT EXISTS ArchiveLists ( + LID INT NOT NULL AUTO_INCREMENT, + AuthorUID INT NOT NULL, + Name VARCHAR(64) NOT NULL, + Description VARCHAR(255), + PRIMARY KEY (LID), + FOREIGN KEY (AuthorUID) REFERENCES Users(UID) +); + +CREATE TABLE IF NOT EXISTS ArchiveListsWebpages ( + WID INT NOT NULL, + LID INT NOT NULL, + Position INT NOT NULL, + PRIMARY KEY (WID, LID) +); |
