-- Chats Etichette
CREATE TABLE IF NOT EXISTS public.chats_etichette (
    chatid UUID NOT NULL,
    etichettaid integer NOT NULL
);
-- Primary Key
DO $$ BEGIN
ALTER TABLE public.chats_etichette 
ADD CONSTRAINT chats_etichette_pkey PRIMARY KEY (chatid, etichettaid);
    EXCEPTION
        WHEN invalid_table_definition THEN
            RAISE NOTICE 'Primary key already exists. Ignoring...'; 
END $$;
-- Foreign Key to Chats
DO $$ BEGIN IF NOT EXISTS (
    SELECT 1 FROM pg_constraint 
    WHERE conname = 'chat_etichetta_fkey'
    ) THEN
        ALTER TABLE public.chats_etichette 
        ADD CONSTRAINT chat_etichetta_fkey 
        FOREIGN KEY (chatid) REFERENCES public.chats (chatid) 
        ON UPDATE CASCADE ON DELETE CASCADE;
    END IF;
END $$;
-- Foreign Key to Etichette
DO $$ BEGIN IF NOT EXISTS (
    SELECT 1 FROM pg_constraint 
    WHERE conname = 'etichetta_chetich_fkey'
    ) THEN
        ALTER TABLE public.chats_etichette 
        ADD CONSTRAINT etichetta_chetich_fkey 
        FOREIGN KEY (etichettaid) REFERENCES public.etichette (id_etichetta) 
        ON UPDATE CASCADE ON DELETE CASCADE;
    END IF;
END $$;