-- Chats CREATE TABLE IF NOT EXISTS public.chats ( chatid UUID DEFAULT gen_random_uuid () NOT NULL, created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL, user_ref UUID NOT NULL, tags TEXT [] ); -- Primary Key DO $$ BEGIN ALTER TABLE public.chats ADD CONSTRAINT chats_pkey PRIMARY KEY (chatid); EXCEPTION WHEN invalid_table_definition THEN RAISE NOTICE 'Primary key already exists. Ignoring...'; END $$; -- Foreign Key to Users DO $$ BEGIN IF NOT EXISTS ( SELECT 1 FROM pg_constraint WHERE conname = 'userchats' ) THEN ALTER TABLE public.chats ADD CONSTRAINT userchats FOREIGN KEY (user_ref) REFERENCES public.users (id) ON UPDATE CASCADE ON DELETE CASCADE; END IF; END $$;