-- Servizio Annunci CREATE TABLE IF NOT EXISTS public.servizio_annunci ( servizio_id UUID NOT NULL, annunci_id integer NOT NULL, created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT now() NOT NULL, open_contatti_at TIMESTAMP WITHOUT TIME ZONE, doc_conferma_ref TEXT, user_confirmed_at TIMESTAMP WITHOUT TIME ZONE, accettato_conferma_at TIMESTAMP WITHOUT TIME ZONE, caparra_causale TEXT, caparra_iban TEXT, caparra_importo TEXT, caparra_intestazione TEXT, "hasConfermaAdmin" boolean DEFAULT FALSE NOT NULL, doc_contratto_ref TEXT, gestionale_id integer, contratto_decorrenza date, contratto_scadenza date, contratto_tipo TEXT, doc_registrazione_ref TEXT, doc_conferma_added boolean DEFAULT FALSE NOT NULL, doc_contratto_added boolean DEFAULT FALSE NOT NULL, doc_registrazione_added boolean DEFAULT FALSE NOT NULL ); -- Unique Constraint DO $$ BEGIN IF NOT EXISTS ( SELECT 1 FROM pg_constraint WHERE conname = 'uniq_annuncio_servizio' ) THEN ALTER TABLE public.servizio_annunci ADD CONSTRAINT uniq_annuncio_servizio UNIQUE (annunci_id, servizio_id); END IF; END $$; -- Foreign Key to Annunci DO $$ BEGIN IF NOT EXISTS ( SELECT 1 FROM pg_constraint WHERE conname = 'servizio_annuncio_J_annuncio' ) THEN ALTER TABLE public.servizio_annunci ADD CONSTRAINT servizio_annuncio_J_annuncio FOREIGN KEY (annunci_id) REFERENCES public.annunci (id) ON UPDATE CASCADE ON DELETE CASCADE; END IF; END $$; -- Foreign Key to Servizio DO $$ BEGIN IF NOT EXISTS ( SELECT 1 FROM pg_constraint WHERE conname = 'servizio_annuncio_J_servizio' ) THEN ALTER TABLE public.servizio_annunci ADD CONSTRAINT servizio_annuncio_J_servizio FOREIGN KEY (servizio_id) REFERENCES public.servizio (servizio_id) ON UPDATE CASCADE ON DELETE CASCADE; END IF; END $$;