diff options
| author | Syndamia <kamen@syndamia.com> | 2025-01-18 15:33:29 +0200 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-01-19 07:46:17 +0200 |
| commit | 1faf25dc6013211544212f186196a6039b2cef98 (patch) | |
| tree | 105c955669f9ec1c9c27ab74f87cb1b06aa50485 /migrations | |
| parent | bd8e0c3452307aa92827b9910339ec537def7e9b (diff) | |
| download | nowayforward_human-1faf25dc6013211544212f186196a6039b2cef98.tar nowayforward_human-1faf25dc6013211544212f186196a6039b2cef98.tar.gz nowayforward_human-1faf25dc6013211544212f186196a6039b2cef98.zip | |
feat(migrations): Up-to-date initial migration
Diffstat (limited to 'migrations')
| -rw-r--r-- | migrations/initial.sql | 59 |
1 files changed, 39 insertions, 20 deletions
diff --git a/migrations/initial.sql b/migrations/initial.sql index 9899f63..8ac5ac0 100644 --- a/migrations/initial.sql +++ b/migrations/initial.sql @@ -1,26 +1,45 @@ -SET @username = 'default'; -SET @password = 'Password1234'; +CREATE DATABASE IF NOT EXISTS nwfh; +USE nwfh; --- Check if the user exists -SELECT COUNT(*) INTO @user_exists -FROM mysql.user -WHERE user = @username AND host = 'localhost'; +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 the user if it does not exist -IF @user_exists = 0 THEN - CREATE USER @username@'localhost' IDENTIFIED BY @password; -END IF; +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) +); -GRANT ALL PRIVILEGES ON db.* TO @username@'localhost'; -FLUSH PRIVILEGES; +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 the database if it does not exist -CREATE DATABASE IF NOT EXISTS db; -USE db; +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 the users table if it does not exist -CREATE TABLE IF NOT EXISTS users ( - id INT AUTO_INCREMENT PRIMARY KEY, - username VARCHAR(50) NOT NULL UNIQUE, - password VARCHAR(255) NOT NULL +CREATE TABLE IF NOT EXISTS ArchiveListsWebpages ( + WID INT NOT NULL, + LID INT NOT NULL, + Position INT NOT NULL, + PRIMARY KEY (WID, LID) ); |
