CREATE TABLE IF NOT EXISTS public.mst_prioritas_provinsi (
	id_unik_prioritas_provinsi uuid DEFAULT public.uuid_generate_v7() NOT NULL,
    id_label_prov_lama integer DEFAULT 0 NOT NULL,
    tahun integer DEFAULT 0 NOT NULL,
    id_daerah integer DEFAULT 0 NOT NULL,
    locked boolean DEFAULT false NOT NULL,
    nama_prioritas text DEFAULT ''::text NOT NULL,
    created_at timestamp(6) without time zone DEFAULT now() NOT NULL,
    created_by integer DEFAULT 0 NOT NULL,
    updated_at timestamp(6) without time zone DEFAULT '0001-01-01 00:00:00'::timestamp without time zone NOT NULL,
    updated_by integer DEFAULT 0 NOT NULL,
    deleted_at timestamp(6) without time zone DEFAULT '0001-01-01 00:00:00'::timestamp without time zone NOT NULL,
    deleted_by integer DEFAULT 0 NOT NULL
);

ALTER TABLE public.mst_prioritas_provinsi ADD CONSTRAINT mst_prioritas_provinsi_pkey PRIMARY KEY (id_unik_prioritas_provinsi, tahun, id_daerah);
ALTER TABLE public.mst_prioritas_provinsi ADD CONSTRAINT mst_prioritas_provinsi_unique_key UNIQUE (tahun, id_daerah, nama_prioritas);

COMMENT ON TABLE public.mst_prioritas_provinsi IS 'Tabel berisi label atau tagging prioritas pembangunan pemerintah daerah provinsi.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.id_unik_prioritas_provinsi IS 'ID unik UUID sebagai ID primary key.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.id_label_prov_lama IS 'Primary key tabel lama.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.tahun IS 'Tahun prioritas provinsi.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.locked IS 'Status prioritas dapat dipilih atau tidak (true/false).';
COMMENT ON COLUMN public.mst_prioritas_provinsi.id_daerah IS 'ID daerah provinsi.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.nama_prioritas IS 'Nama prioritas pembangunan tingkat provinsi.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.created_at IS 'Tanggal dan waktu data dibuat.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.created_by IS 'ID pengguna yang membuat data.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.updated_at IS 'Tanggal dan waktu terakhir data diperbarui.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.updated_by IS 'ID pengguna yang memperbarui data.';
COMMENT ON COLUMN public.mst_prioritas_provinsi.deleted_at IS 'Tanggal dan waktu data dihapus (soft delete).';
COMMENT ON COLUMN public.mst_prioritas_provinsi.deleted_by IS 'ID pengguna yang menghapus data.';

CREATE INDEX mst_prioritas_provinsi_id_unik_prioritas_prov_idx ON public.mst_prioritas_provinsi USING btree (id_unik_prioritas_provinsi);
CREATE INDEX mst_prioritas_provinsi_tahun_idx ON public.mst_prioritas_provinsi USING btree (tahun);
CREATE INDEX mst_prioritas_provinsi_id_daerah_idx ON public.mst_prioritas_provinsi USING btree (id_daerah);
CREATE INDEX mst_prioritas_provinsi_nama_prioritas_idx ON public.mst_prioritas_provinsi USING btree (nama_prioritas);