45 lines
1.2 KiB
MySQL
45 lines
1.2 KiB
MySQL
|
|
-- Potenziali Groups Table
|
||
|
|
CREATE TABLE IF NOT EXISTS public.potenziali_groups (
|
||
|
|
id UUID DEFAULT gen_random_uuid () NOT NULL,
|
||
|
|
name TEXT NOT NULL,
|
||
|
|
color TEXT DEFAULT 'blue' NOT NULL
|
||
|
|
);
|
||
|
|
-- Primary Key
|
||
|
|
DO $$
|
||
|
|
BEGIN
|
||
|
|
IF NOT EXISTS (
|
||
|
|
SELECT 1 FROM pg_constraint
|
||
|
|
WHERE conname = 'potenziali_groups_pkey'
|
||
|
|
AND conrelid = 'public.potenziali_groups'::regclass
|
||
|
|
) THEN
|
||
|
|
ALTER TABLE public.potenziali_groups
|
||
|
|
ADD CONSTRAINT potenziali_groups_pkey PRIMARY KEY (id);
|
||
|
|
END IF;
|
||
|
|
END $$;
|
||
|
|
|
||
|
|
-- Foreign Key to Potenziali Groups
|
||
|
|
DO $$
|
||
|
|
BEGIN
|
||
|
|
IF NOT EXISTS (
|
||
|
|
SELECT 1 FROM pg_constraint
|
||
|
|
WHERE conname = 'potenziali_group_fk'
|
||
|
|
AND conrelid = 'public.potenziali'::regclass
|
||
|
|
) THEN
|
||
|
|
ALTER TABLE public.potenziali
|
||
|
|
ADD CONSTRAINT potenziali_group_fk
|
||
|
|
FOREIGN KEY (potenziali_group_id) REFERENCES public.potenziali_groups (id)
|
||
|
|
ON UPDATE CASCADE ON DELETE CASCADE;
|
||
|
|
END IF;
|
||
|
|
END $$;
|
||
|
|
|
||
|
|
-- Create Index on Potenziali Group ID
|
||
|
|
DO $$
|
||
|
|
BEGIN
|
||
|
|
IF NOT EXISTS (
|
||
|
|
SELECT 1 FROM pg_indexes
|
||
|
|
WHERE indexname = 'idx_potenziali_group_id'
|
||
|
|
) THEN
|
||
|
|
CREATE INDEX idx_potenziali_group_id
|
||
|
|
ON public.potenziali (potenziali_group_id);
|
||
|
|
END IF;
|
||
|
|
END $$;
|