TIF_E41220437/prisma/migrations/20250501204044_init/migration.sql

108 lines
3.7 KiB
SQL

-- CreateTable
CREATE TABLE "users" (
"id" TEXT NOT NULL,
"name" TEXT,
"email" TEXT,
"password" TEXT NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP(3) NOT NULL,
CONSTRAINT "users_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "detail" (
"tax_id" TEXT NOT NULL,
"phone" TEXT NOT NULL,
"bio" TEXT NOT NULL,
"city" TEXT NOT NULL,
"county" TEXT NOT NULL,
"post_kode" TEXT NOT NULL,
"photo_profile" TEXT NOT NULL,
CONSTRAINT "detail_pkey" PRIMARY KEY ("tax_id")
);
-- CreateTable
CREATE TABLE "data_kecamatan" (
"id_kecamatan" SERIAL NOT NULL,
"id_komoditas" INTEGER NOT NULL,
"nama_kecamatan" VARCHAR(100) NOT NULL,
"deskripsi" TEXT NOT NULL,
"gambar" TEXT NOT NULL,
"area" DOUBLE PRECISION NOT NULL,
"posisi_x" DOUBLE PRECISION NOT NULL,
"posisi_y" DOUBLE PRECISION NOT NULL,
CONSTRAINT "data_kecamatan_pkey" PRIMARY KEY ("id_kecamatan")
);
-- CreateTable
CREATE TABLE "data_penduduk" (
"id_penduduk" SERIAL NOT NULL,
"id_kecamatan" INTEGER NOT NULL,
"data_tahun" INTEGER NOT NULL,
"jumlah_penduduk" DOUBLE PRECISION NOT NULL,
"laju_pertumbuhan" VARCHAR(30) NOT NULL,
CONSTRAINT "data_penduduk_pkey" PRIMARY KEY ("id_penduduk")
);
-- CreateTable
CREATE TABLE "data_komoditas" (
"id_komoditas" SERIAL NOT NULL,
"nama_komoditas" VARCHAR(100) NOT NULL,
"posisi_x" DOUBLE PRECISION NOT NULL,
"posisi_y" DOUBLE PRECISION NOT NULL,
CONSTRAINT "data_komoditas_pkey" PRIMARY KEY ("id_komoditas")
);
-- CreateTable
CREATE TABLE "hasil_panen" (
"id_panen" SERIAL NOT NULL,
"id_kecamatan" INTEGER NOT NULL,
"id_komoditas" INTEGER NOT NULL,
"tahun_panen" INTEGER NOT NULL,
"produksi" DOUBLE PRECISION NOT NULL,
"luas_panen" DOUBLE PRECISION NOT NULL,
"produktivitas" DOUBLE PRECISION NOT NULL,
CONSTRAINT "hasil_panen_pkey" PRIMARY KEY ("id_panen")
);
-- CreateTable
CREATE TABLE "prediksi_panen" (
"id_prediksi" SERIAL NOT NULL,
"id_kecamatan" INTEGER NOT NULL,
"id_komoditas" INTEGER NOT NULL,
"tahun_prediksi" INTEGER NOT NULL,
"hasil_prediksi" INTEGER NOT NULL,
CONSTRAINT "prediksi_panen_pkey" PRIMARY KEY ("id_prediksi")
);
-- CreateIndex
CREATE UNIQUE INDEX "users_email_key" ON "users"("email");
-- AddForeignKey
ALTER TABLE "detail" ADD CONSTRAINT "detail_tax_id_fkey" FOREIGN KEY ("tax_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "data_kecamatan" ADD CONSTRAINT "data_kecamatan_id_komoditas_fkey" FOREIGN KEY ("id_komoditas") REFERENCES "data_komoditas"("id_komoditas") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "data_penduduk" ADD CONSTRAINT "data_penduduk_id_kecamatan_fkey" FOREIGN KEY ("id_kecamatan") REFERENCES "data_kecamatan"("id_kecamatan") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "hasil_panen" ADD CONSTRAINT "hasil_panen_id_kecamatan_fkey" FOREIGN KEY ("id_kecamatan") REFERENCES "data_kecamatan"("id_kecamatan") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "hasil_panen" ADD CONSTRAINT "hasil_panen_id_komoditas_fkey" FOREIGN KEY ("id_komoditas") REFERENCES "data_komoditas"("id_komoditas") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "prediksi_panen" ADD CONSTRAINT "prediksi_panen_id_kecamatan_fkey" FOREIGN KEY ("id_kecamatan") REFERENCES "data_kecamatan"("id_kecamatan") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "prediksi_panen" ADD CONSTRAINT "prediksi_panen_id_komoditas_fkey" FOREIGN KEY ("id_komoditas") REFERENCES "data_komoditas"("id_komoditas") ON DELETE RESTRICT ON UPDATE CASCADE;