diff --git a/initdb/01_schema.sql b/initdb/01_schema.sql index 19c631a..59c0b24 100644 --- a/initdb/01_schema.sql +++ b/initdb/01_schema.sql @@ -6,20 +6,23 @@ USE `esameits24-26`; -- ------------------------------------------------------------ --- Tabella utenti (API: GET/POST/PUT/DELETE /utenti) +-- Tabella UTENTI +-- Ruoli: DIPENDENTE | RESPONSABILE_AMMINISTRATIVO -- ------------------------------------------------------------ CREATE TABLE IF NOT EXISTS utenti ( - UtenteID INT UNSIGNED NOT NULL AUTO_INCREMENT, - Nome VARCHAR(100) NOT NULL, - Cognome VARCHAR(100) NOT NULL, - Email VARCHAR(255) NOT NULL, - PasswordHash VARCHAR(255) NOT NULL COMMENT 'Password salvata come hash (es. bcrypt)', - Admin BOOLEAN NOT NULL DEFAULT FALSE, - created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + utente_id INT UNSIGNED NOT NULL AUTO_INCREMENT, + nome VARCHAR(100) NOT NULL, + cognome VARCHAR(100) NOT NULL, + email VARCHAR(255) NOT NULL, + password_hash VARCHAR(255) NOT NULL COMMENT 'Password salvata come hash (es. bcrypt)', + ruolo ENUM('DIPENDENTE', 'RESPONSABILE_AMMINISTRATIVO') + NOT NULL DEFAULT 'DIPENDENTE', + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (UtenteID), - UNIQUE KEY uk_utente_email (Email) + PRIMARY KEY (utente_id), + UNIQUE KEY uk_utenti_email (email), + KEY idx_utenti_ruolo (ruolo) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;