database/schema.sqlsql · @kibot
20/9/2026, 15:30:35-- Esquema inicial para NetFlux (PostgreSQL)
-- Tabla Usuarios
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Tabla Peliculas (Catálogo)
CREATE TABLE movies (
id SERIAL PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT,
poster_path VARCHAR(255),
backdrop_path VARCHAR(255),
release_date DATE,
genre_ids JSONB,
original_language VARCHAR(10),
vote_average DECIMAL(3,2)
);
-- Tabla Temporadas
CREATE TABLE seasons (
id SERIAL PRIMARY KEY,
movie_id INTEGER REFERENCES movies(id) ON DELETE CASCADE,
season_number INTEGER NOT NULL,
name VARCHAR(100),
overview TEXT
);
-- Tabla Episodios
CREATE TABLE episodes (
id SERIAL PRIMARY KEY,
season_id INTEGER REFERENCES seasons(id) ON DELETE CASCADE,
episode_number INTEGER NOT NULL,
name VARCHAR(255),
air_date DATE,
still_path VARCHAR(255)
);
-- Tabla Historial de Reproducción (Opcional para MVP)
CREATE TABLE watch_history (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id) ON DELETE CASCADE,
episode_id INTEGER REFERENCES episodes(id) ON DELETE CASCADE,
progress_seconds INTEGER DEFAULT 0,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);