From abbb2450772fc4813268ea5482d8805c42e5bc98 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 18 Jan 2025 20:40:37 +0200 Subject: feat(migrations): Add anonymous user --- migrations/00-initial.sql | 45 ++++++++++++++++++++++++++++++++++++++++++ migrations/01-default-data.sql | 4 ++++ migrations/initial.sql | 45 ------------------------------------------ 3 files changed, 49 insertions(+), 45 deletions(-) create mode 100644 migrations/00-initial.sql create mode 100644 migrations/01-default-data.sql delete mode 100644 migrations/initial.sql 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) +); diff --git a/migrations/01-default-data.sql b/migrations/01-default-data.sql new file mode 100644 index 0000000..ba8ed97 --- /dev/null +++ b/migrations/01-default-data.sql @@ -0,0 +1,4 @@ +USE nwfh; + +INSERT INTO Users (Username, Password, Role) +VALUES ("Anon", "", "User"); diff --git a/migrations/initial.sql b/migrations/initial.sql deleted file mode 100644 index 8ac5ac0..0000000 --- a/migrations/initial.sql +++ /dev/null @@ -1,45 +0,0 @@ -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) -); -- cgit v1.2.3