Codigo de bbdd

This commit is contained in:
santi 2025-05-30 13:50:28 +02:00
parent 2158c149b7
commit e472c4ba27
1 changed files with 91 additions and 0 deletions

View File

@ -0,0 +1,91 @@
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
);