Ctrl K
ComunidadGuías…
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
);

Comentarios de código