first commit

This commit is contained in:
2025-08-25 22:41:07 +02:00
commit 0bef2b69c2
25 changed files with 6007 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
-- Your SQL goes here
-- Table des utilisateurs
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Table des serveurs
CREATE TABLE servers (
server_id INT AUTO_INCREMENT PRIMARY KEY,
server_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Table des canaux
CREATE TABLE channels (
channel_id INT AUTO_INCREMENT PRIMARY KEY,
server_id INT NOT NULL,
channel_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (server_id) REFERENCES servers(server_id)
);
-- Table des messages
CREATE TABLE messages (
message_id INT AUTO_INCREMENT PRIMARY KEY,
channel_id INT NOT NULL,
user_id INT NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (channel_id) REFERENCES channels(channel_id),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- Table des membres de serveur
CREATE TABLE server_members (
server_member_id INT AUTO_INCREMENT PRIMARY KEY,
server_id INT NOT NULL,
user_id INT NOT NULL,
joined_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (server_id) REFERENCES servers(server_id),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- Table des membres de canal
CREATE TABLE channel_members (
channel_member_id INT AUTO_INCREMENT PRIMARY KEY,
channel_id INT NOT NULL,
user_id INT NOT NULL,
joined_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (channel_id) REFERENCES channels(channel_id),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
-- Table des rôles
CREATE TABLE roles (
role_id INT AUTO_INCREMENT PRIMARY KEY,
server_id INT NOT NULL,
role_name VARCHAR(50) NOT NULL,
FOREIGN KEY (server_id) REFERENCES servers(server_id)
);
-- Table des relations utilisateur-rôle
CREATE TABLE user_roles (
user_role_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
role_id INT NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (role_id) REFERENCES roles(role_id)
);