-- User Anagrafica CREATE TABLE IF NOT EXISTS public.users_anagrafica ( idanagrafica UUID DEFAULT gen_random_uuid () NOT NULL, userid UUID NOT NULL, luogo_nascita TEXT, data_nascita TIMESTAMP WITHOUT TIME ZONE, nazione_nascita TEXT, codice_fiscale TEXT, via_residenza TEXT, civico_residenza TEXT, comune_residenza TEXT, provincia_residenza TEXT, cap_residenza TEXT, nazione_residenza TEXT, sesso TEXT, azienda boolean DEFAULT FALSE NOT NULL, ragione_sociale TEXT, sede_legale TEXT, p_iva TEXT, fatturazione_aziendale boolean DEFAULT FALSE NOT NULL, codice_destinatario TEXT, legale_rappresentante TEXT ); -- Primary Key DO $$ BEGIN ALTER TABLE public.users_anagrafica ADD CONSTRAINT usersanagrafica_pkey PRIMARY KEY (idanagrafica); EXCEPTION WHEN invalid_table_definition THEN RAISE NOTICE 'Primary key already exists. Ignoring...'; END $$; -- Unique Userid DO $$ BEGIN IF NOT EXISTS ( SELECT 1 FROM pg_constraint WHERE conname = 'useranagrafica_user_key' ) THEN ALTER TABLE public.users_anagrafica ADD CONSTRAINT useranagrafica_user_key UNIQUE (userid); END IF; END $$; -- Foreign Key to Users DO $$ BEGIN IF NOT EXISTS ( SELECT 1 FROM pg_constraint WHERE conname = 'useranagrafica_user' ) THEN ALTER TABLE public.users_anagrafica ADD CONSTRAINT useranagrafica_user FOREIGN KEY (userid) REFERENCES public.users (id) ON UPDATE CASCADE ON DELETE CASCADE; END IF; END $$;