infoalloggi-monorepo/apps/db/migrations/26_videos_refs.up.sql

59 lines
1.6 KiB
MySQL
Raw Normal View History

-- Images_refs index
CREATE INDEX IF NOT EXISTS annunci_imgs ON images_refs (codice);
-- Videos_refs Table
CREATE TABLE IF NOT EXISTS public.videos_refs (
codice TEXT COLLATE pg_catalog."default" NOT NULL,
ordine integer NOT NULL,
video TEXT COLLATE pg_catalog."default" NOT NULL,
thumb TEXT COLLATE pg_catalog."default" NOT NULL,
og_url TEXT COLLATE pg_catalog."default" NOT NULL
);
-- Unique Codice and Ordine for Videos_refs Table
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1
FROM pg_constraint
WHERE conname = 'video_cod_order'
AND conrelid = 'public.videos_refs'::regclass
) THEN
ALTER TABLE public.videos_refs
ADD CONSTRAINT video_cod_order UNIQUE (codice, ordine);
END IF;
END $$;
-- Foreign Key to Annunci for Videos_refs Table
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint
WHERE conname = 'cod_video'
AND conrelid = 'public.videos_refs'::regclass
) THEN
ALTER TABLE public.videos_refs
ADD CONSTRAINT cod_video
FOREIGN KEY (codice) REFERENCES public.annunci (codice)
ON UPDATE CASCADE ON DELETE CASCADE;
END IF;
END $$;
-- Index for Videos_refs Table
CREATE INDEX IF NOT EXISTS annunci_videos ON videos_refs (codice);
-- Rename url_video to external_videos in Annunci Table
DO $$
BEGIN
IF EXISTS (
SELECT 1
FROM information_schema.columns
WHERE table_name='annunci'
AND column_name='url_video'
) THEN
ALTER TABLE public.annunci
RENAME COLUMN url_video TO external_videos;
END IF;
END $$;