Create User & Media models/controllers, remove Task & Project
# Created: # - UserModel + UserController # - MediaModel + MediaController # Removed: # - TaskModel + TaskController # - ProjectModel + ProjectController
This commit is contained in:
57
SQL/tables.sql
Normal file
57
SQL/tables.sql
Normal file
@@ -0,0 +1,57 @@
|
||||
-- -- Users Table
|
||||
-- CREATE TABLE users (
|
||||
-- uid INT AUTO_INCREMENT PRIMARY KEY,
|
||||
-- username VARCHAR(50) NOT NULL,
|
||||
-- email VARCHAR(100) NOT NULL UNIQUE,
|
||||
-- password_hash VARCHAR(255) NOT NULL, -- store a hashed password, never plain text
|
||||
-- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
-- );
|
||||
|
||||
-- -- Media Types Table (e.g., Film, Music)
|
||||
-- CREATE TABLE media_types (
|
||||
-- tid INT AUTO_INCREMENT PRIMARY KEY,
|
||||
-- type_name VARCHAR(50) NOT NULL
|
||||
-- );
|
||||
|
||||
-- -- Media Table
|
||||
-- CREATE TABLE media (
|
||||
-- mid INT AUTO_INCREMENT PRIMARY KEY,
|
||||
-- uid INT NOT NULL,
|
||||
-- tid INT NOT NULL,
|
||||
-- name VARCHAR(100) NOT NULL,
|
||||
-- length INT,
|
||||
-- watched_count INT DEFAULT 0,
|
||||
-- favorite BOOLEAN DEFAULT 0,
|
||||
-- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
-- FOREIGN KEY (uid) REFERENCES users(uid) ON DELETE CASCADE,
|
||||
-- FOREIGN KEY (tid) REFERENCES media_types(tid) ON DELETE CASCADE
|
||||
-- );
|
||||
|
||||
-- -- Preferences Table
|
||||
-- CREATE TABLE preferences (
|
||||
-- pid INT AUTO_INCREMENT PRIMARY KEY,
|
||||
-- uid INT NOT NULL,
|
||||
-- theme_mode TINYINT(1) DEFAULT 0, -- 0 = Light, 1 = Dark
|
||||
-- preferred_path VARCHAR(255),
|
||||
-- device_name VARCHAR(100),
|
||||
-- FOREIGN KEY (uid) REFERENCES users(uid) ON DELETE CASCADE
|
||||
-- );
|
||||
|
||||
-- -- Playlists Table (Future feature: Group media items into playlists)
|
||||
-- CREATE TABLE playlists (
|
||||
-- plid INT AUTO_INCREMENT PRIMARY KEY,
|
||||
-- uid INT NOT NULL,
|
||||
-- name VARCHAR(100) NOT NULL,
|
||||
-- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
-- FOREIGN KEY (uid) REFERENCES users(uid) ON DELETE CASCADE
|
||||
-- );
|
||||
|
||||
-- -- Playlist Items Table (Many-to-Many relation: media in playlists)
|
||||
-- CREATE TABLE playlist_items (
|
||||
-- plid INT NOT NULL,
|
||||
-- mid INT NOT NULL,
|
||||
-- added_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
-- PRIMARY KEY (plid, mid),
|
||||
-- FOREIGN KEY (plid) REFERENCES playlists(plid) ON DELETE CASCADE,
|
||||
-- FOREIGN KEY (mid) REFERENCES media(mid) ON DELETE CASCADE
|
||||
-- );
|
Reference in New Issue
Block a user