sipd-master/migrations/000004_create_mst_kecamatan_table.up.sql
2025-09-16 08:26:35 +07:00

33 lines
2.5 KiB
SQL

CREATE TABLE public.mst_kecamatan (
id_kecamatan serial NOT NULL,
id_daerah integer DEFAULT 0 NOT NULL,
id_unik_kecamatan uuid DEFAULT public.uuid_generate_v7() NOT NULL,
id_unik_daerah uuid DEFAULT '00000000-0000-0000-0000-000000000000' NOT NULL,
kode_kecamatan character varying(10) NOT NULL,
nama_kecamatan character varying(255) DEFAULT ''::character varying 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
);
COMMENT ON TABLE public.mst_kecamatan IS 'Tabel referensi kecamatan di Indonesia dalam sistem SIPD. Menyimpan informasi identitas kecamatan, kode wilayah, dan hubungan dengan daerah induknya.';
COMMENT ON COLUMN public.mst_kecamatan.id_kecamatan IS 'Primary key. ID unik untuk setiap kecamatan.';
COMMENT ON COLUMN public.mst_kecamatan.id_daerah IS 'ID daerah induk (provinsi/kabupaten/kota) tempat kecamatan berada.';
COMMENT ON COLUMN public.mst_kecamatan.id_unik_kecamatan IS 'ID unik UUID untuk backup ID primary key.';
COMMENT ON COLUMN public.mst_kecamatan.id_unik_daerah IS 'ID unik UUID untuk backup ID foreign key mst_daerah.';
COMMENT ON COLUMN public.mst_kecamatan.kode_kecamatan IS 'Kode resmi kecamatan sesuai standar nasional.';
COMMENT ON COLUMN public.mst_kecamatan.nama_kecamatan IS 'Nama lengkap kecamatan sesuai nomenklatur resmi.';
COMMENT ON COLUMN public.mst_kecamatan.created_at IS 'Tanggal dan waktu data pertama kali dibuat.';
COMMENT ON COLUMN public.mst_kecamatan.created_by IS 'ID pengguna yang membuat data.';
COMMENT ON COLUMN public.mst_kecamatan.updated_at IS 'Tanggal dan waktu terakhir data diperbarui.';
COMMENT ON COLUMN public.mst_kecamatan.updated_by IS 'ID pengguna yang memperbarui data.';
COMMENT ON COLUMN public.mst_kecamatan.deleted_at IS 'Tanggal dan waktu data dihapus (soft delete).';
COMMENT ON COLUMN public.mst_kecamatan.deleted_by IS 'ID pengguna yang menghapus data.';
ALTER TABLE public.mst_kecamatan ADD CONSTRAINT mst_kecamatan_pkey PRIMARY KEY (id_kecamatan, id_daerah, kode_kecamatan);
CREATE INDEX mst_kecamatan_id_daerah_idx ON public.mst_kecamatan USING btree (id_kecamatan);
CREATE INDEX mst_kecamatan_kode_kecamatan_idx ON public.mst_kecamatan USING btree (kode_kecamatan);