diff --git a/initdb/01_schema.sql b/initdb/01_schema.sql index 02e8961..57b4552 100644 --- a/initdb/01_schema.sql +++ b/initdb/01_schema.sql @@ -8,7 +8,7 @@ USE corrieri; -- ------------------------------------------------------------ -- Tabella utenti (API: GET/POST/PUT/DELETE /operatori) -- ------------------------------------------------------------ -CREATE TABLE IF NOT EXISTS operatore ( +CREATE TABLE IF NOT EXISTS utente ( UtenteID INT UNSIGNED NOT NULL AUTO_INCREMENT, Nome VARCHAR(100) NOT NULL, Cognome VARCHAR(100) NOT NULL, @@ -48,7 +48,7 @@ CREATE TABLE IF NOT EXISTS cliente ( -- ---------------------------------------------------------------- --- Tabella consegna (API: GET/POST/PUT/DELETE /prenotazioni) +-- Tabella consegna (API: GET/POST/PUT/DELETE /consegna) -- ---------------------------------------------------------------- CREATE TABLE IF NOT EXISTS consegna ( ConsegnaID INT UNSIGNED NOT NULL AUTO_INCREMENT, @@ -62,9 +62,6 @@ CREATE TABLE IF NOT EXISTS consegna ( UNIQUE KEY uk_chiaveConsegna (ChiaveConsegna), KEY idx_DataConsegna ( DataConsegna), - #CONSTRAINT ck_prenotazione_orario_valido - # CHECK (OraFine > OraInizio), - CONSTRAINT fk_consegna_cliente FOREIGN KEY (ClienteID) REFERENCES cliente (ClienteID) @@ -74,52 +71,3 @@ CREATE TABLE IF NOT EXISTS consegna ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - - --- ---------------------------------------------------------------- --- Trigger anti-sovrapposizione (stesso campo, stessa data) --- Le prenotazioni annullate non occupano lo slot. --- ---------------------------------------------------------------- -#DROP TRIGGER IF EXISTS trg_prenotazione_no_overlap_insert; -#DROP TRIGGER IF EXISTS trg_prenotazione_no_overlap_update; - -#DELIMITER $$ - -#CREATE TRIGGER trg_prenotazione_no_overlap_insert -#BEFORE INSERT ON corrieri -#FOR EACH ROW -#BEGIN -# IF NEW.Stato <> 'annullata' AND EXISTS ( -# SELECT 1 -# FROM corrieri AS p -# WHERE p.CampoID = NEW.CampoID -# AND p.Data = NEW.Data -# AND p.Stato <> 'annullata' -# AND NEW.OraInizio < p.OraFine -# AND p.OraInizio < NEW.OraFine -# ) THEN -# SIGNAL SQLSTATE '45000' -# SET MESSAGE_TEXT = 'Sovrapposizione: esiste già una prenotazione attiva in questo orario per il campo selezionato'; -# END IF; -#END$$ - -#CREATE TRIGGER trg_prenotazione_no_overlap_update -#BEFORE UPDATE ON corrieri -#FOR EACH ROW -#BEGIN -# IF NEW.Stato <> 'annullata' AND EXISTS ( -# SELECT 1 -# FROM corrieri AS p -# WHERE p.PrenotazioneID <> NEW.PrenotazioneID -# AND p.CampoID = NEW.CampoID -# AND p.Data = NEW.Data -# AND p.Stato <> 'annullata' -# AND NEW.OraInizio < p.OraFine -# AND p.OraInizio < NEW.OraFine -# ) THEN -# SIGNAL SQLSTATE '45000' -# SET MESSAGE_TEXT = 'Sovrapposizione: esiste già una prenotazione attiva in questo orario per il campo selezionato'; -# END IF; -#END$$ - -#DELIMITER ;