infoalloggi-monorepo/apps/db/migrations/25_comuni_provincie_nazioni.up.sql

58 lines
No EOL
1.5 KiB
SQL

-- Comuni Table
CREATE TABLE IF NOT EXISTS public.comuni (
id serial NOT NULL,
nome TEXT NOT NULL,
sigla TEXT NOT NULL,
catasto TEXT NOT NULL
);
-- Primary Key
DO $$ BEGIN
ALTER TABLE public.comuni
ADD CONSTRAINT comuni_pkey PRIMARY KEY (id);
EXCEPTION
WHEN invalid_table_definition THEN
RAISE NOTICE 'Primary key already exists. Ignoring...';
END $$;
CREATE INDEX IF NOT EXISTS idx_comuni_nome ON comuni (nome);
CREATE INDEX IF NOT EXISTS idx_comuni_sigla ON comuni (sigla);
CREATE INDEX IF NOT EXISTS idx_comuni_nome_sigla ON comuni (nome, sigla);
-- Provincie Table
CREATE TABLE IF NOT EXISTS public.provincie (
id serial NOT NULL,
nome TEXT NOT NULL,
sigla TEXT NOT NULL
);
-- Primary Key
DO $$ BEGIN
ALTER TABLE public.provincie
ADD CONSTRAINT provincie_pkey PRIMARY KEY (id);
EXCEPTION
WHEN invalid_table_definition THEN
RAISE NOTICE 'Primary key already exists. Ignoring...';
END $$;
CREATE INDEX IF NOT EXISTS idx_provincie_sigla ON provincie (sigla);
CREATE INDEX IF NOT EXISTS idx_provincie_nome ON provincie (nome);
-- Nazioni Table
CREATE TABLE IF NOT EXISTS public.nazioni (
id serial NOT NULL,
nome TEXT NOT NULL,
catasto TEXT NOT NULL
);
-- Primary Key
DO $$ BEGIN
ALTER TABLE public.nazioni
ADD CONSTRAINT nazioni_pkey PRIMARY KEY (id);
EXCEPTION
WHEN invalid_table_definition THEN
RAISE NOTICE 'Primary key already exists. Ignoring...';
END $$;
CREATE INDEX IF NOT EXISTS idx_nazioni_nome ON nazioni (nome);