diff --git a/bbdd_structure/Yomitrack_bbdd_code b/bbdd_structure/Yomitrack_bbdd_code new file mode 100644 index 0000000..94d5619 --- /dev/null +++ b/bbdd_structure/Yomitrack_bbdd_code @@ -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 +);