From 76ffa662c5e7259b19064b37ef4d0cbf25744d19 Mon Sep 17 00:00:00 2001 From: nico Date: Mon, 13 Apr 2026 17:40:53 +0800 Subject: [PATCH] fix(database): add migration for kependudukan tables - Add DataBanjar, DistribusiAgama, DistribusiUmur, MigrasiPenduduk, DinamikaPenduduk tables - Add indexes for performance (tahun, isActive) - Add JenisMigrasi enum (MASUK, KELUAR) - Fixes: Error 500 on all CRUD kependudukan endpoints in staging Co-authored-by: Qwen-Coder --- .../migration.sql | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 prisma/migrations/20260413170000_add_kependudukan_tables/migration.sql diff --git a/prisma/migrations/20260413170000_add_kependudukan_tables/migration.sql b/prisma/migrations/20260413170000_add_kependudukan_tables/migration.sql new file mode 100644 index 00000000..6b7108df --- /dev/null +++ b/prisma/migrations/20260413170000_add_kependudukan_tables/migration.sql @@ -0,0 +1,112 @@ +-- CreateTable +CREATE TABLE "DataBanjar" ( + "id" TEXT NOT NULL, + "nama" TEXT NOT NULL, + "penduduk" INTEGER NOT NULL, + "kk" INTEGER NOT NULL, + "miskin" INTEGER NOT NULL, + "tahun" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + "isActive" BOOLEAN NOT NULL DEFAULT true, + + CONSTRAINT "DataBanjar_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "DistribusiAgama" ( + "id" TEXT NOT NULL, + "agama" TEXT NOT NULL, + "jumlah" INTEGER NOT NULL, + "tahun" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + "isActive" BOOLEAN NOT NULL DEFAULT true, + + CONSTRAINT "DistribusiAgama_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "DistribusiUmur" ( + "id" TEXT NOT NULL, + "rentangUmur" TEXT NOT NULL, + "jumlah" INTEGER NOT NULL, + "tahun" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + "isActive" BOOLEAN NOT NULL DEFAULT true, + + CONSTRAINT "DistribusiUmur_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "MigrasiPenduduk" ( + "id" TEXT NOT NULL, + "nama" TEXT NOT NULL, + "jenis" "JenisMigrasi" NOT NULL, + "tanggal" TIMESTAMP(3) NOT NULL, + "asal" TEXT, + "tujuan" TEXT, + "alasan" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + "isActive" BOOLEAN NOT NULL DEFAULT true, + + CONSTRAINT "MigrasiPenduduk_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "DinamikaPenduduk" ( + "id" TEXT NOT NULL, + "tahun" INTEGER NOT NULL, + "kelahiran" INTEGER NOT NULL, + "kematian" INTEGER NOT NULL, + "masuk" INTEGER NOT NULL, + "keluar" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + "isActive" BOOLEAN NOT NULL DEFAULT true, + + CONSTRAINT "DinamikaPenduduk_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "DataBanjar_tahun_idx" ON "DataBanjar"("tahun"); + +-- CreateIndex +CREATE INDEX "DataBanjar_isActive_idx" ON "DataBanjar"("isActive"); + +-- CreateIndex +CREATE INDEX "DistribusiAgama_tahun_idx" ON "DistribusiAgama"("tahun"); + +-- CreateIndex +CREATE INDEX "DistribusiAgama_isActive_idx" ON "DistribusiAgama"("isActive"); + +-- CreateIndex +CREATE INDEX "DistribusiUmur_tahun_idx" ON "DistribusiUmur"("tahun"); + +-- CreateIndex +CREATE INDEX "DistribusiUmur_isActive_idx" ON "DistribusiUmur"("isActive"); + +-- CreateIndex +CREATE INDEX "MigrasiPenduduk_tanggal_idx" ON "MigrasiPenduduk"("tanggal"); + +-- CreateIndex +CREATE INDEX "MigrasiPenduduk_isActive_idx" ON "MigrasiPenduduk"("isActive"); + +-- CreateIndex +CREATE INDEX "DinamikaPenduduk_tahun_idx" ON "DinamikaPenduduk"("tahun"); + +-- CreateIndex +CREATE INDEX "DinamikaPenduduk_isActive_idx" ON "DinamikaPenduduk"("isActive"); + +-- CreateIndex +CREATE UNIQUE INDEX "DinamikaPenduduk_tahun_key" ON "DinamikaPenduduk"("tahun"); + +-- CreateEnum +CREATE TYPE "JenisMigrasi" AS ENUM ('MASUK', 'KELUAR');