92 lines
2.6 KiB
Plaintext
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
|
|
);
|