modifica a 01_schema.sql
All checks were successful
Deploy to VPS / build (push) Successful in 14s
Deploy to VPS / deploy (push) Successful in 13s

This commit is contained in:
AV77web 2026-06-22 13:51:46 +02:00
parent 383d3a630d
commit 019ddd9ef1

View file

@ -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 ;