Servidor/bbdd_structure/Yomitrack_bbdd_code

92 lines
2.6 KiB
Plaintext

CREATE DATABASE IF NOT EXISTS yomitrack;
USE yomitrack;
-- Tabla de usuarios
CREATE TABLE users (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(100),
email VARCHAR(255),
password VARCHAR(255),
is_verified TINYINT(1),
verificationToken VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
avatarUrl TEXT,
resetToken VARCHAR(255)
);
-- Tabla de anime
CREATE TABLE anime (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
userId INT(11),
title VARCHAR(255),
status VARCHAR(50),
progress INT(11),
score INT(11),
totalEpisodes INT(11),
imageUrl TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
type VARCHAR(20),
FOREIGN KEY (userId) REFERENCES users(id) ON DELETE CASCADE
);
-- Tabla de manga
CREATE TABLE manga (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
userId INT(11),
title VARCHAR(255),
status VARCHAR(50),
progress INT(11),
score INT(11),
totalChapters INT(11),
imageUrl TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
type VARCHAR(20),
FOREIGN KEY (userId) REFERENCES users(id) ON DELETE CASCADE
);
-- Tabla de actividad
CREATE TABLE activity_log (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
userId INT(11),
action VARCHAR(255),
mediaTitle VARCHAR(255),
type VARCHAR(20),
imageUrl TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (userId) REFERENCES users(id) ON DELETE CASCADE
);
-- Tabla de comentarios
CREATE TABLE comments (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
text TEXT,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
user_id INT(11),
activity_id INT(11),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY (activity_id) REFERENCES activity_log(id) ON DELETE CASCADE
);
-- Tabla de likes
CREATE TABLE likes (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
user_id INT(11),
activity_id INT(11),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY (activity_id) REFERENCES activity_log(id) ON DELETE CASCADE
);
-- Tabla de recuperación de contraseña
CREATE TABLE password_resets (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255),
token VARCHAR(255),
expires_at TIMESTAMP,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
user_id INT(11),
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);