Skip to content

Commit

Permalink
feat: improve table schema
Browse files Browse the repository at this point in the history
Signed-off-by: 35C4n0r <jaykumar20march@gmail.com>
  • Loading branch information
35C4n0r committed Sep 3, 2024
1 parent d86f768 commit fd9d15d
Show file tree
Hide file tree
Showing 4 changed files with 169 additions and 231 deletions.
101 changes: 0 additions & 101 deletions prisma/migrations/20240806185521_add_geo_tables/migration.sql

This file was deleted.

85 changes: 85 additions & 0 deletions prisma/migrations/20240903112126_add_geo_tabless/migration.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
-- CreateExtension
CREATE EXTENSION IF NOT EXISTS "fuzzystrmatch";

-- CreateExtension
CREATE EXTENSION IF NOT EXISTS "postgis";

-- CreateTable
CREATE TABLE "State" (
"id" SERIAL NOT NULL,
"state_code" INTEGER NOT NULL,
"state_name" TEXT NOT NULL,
"metadata" JSONB,
"geometry" geometry NOT NULL,

CONSTRAINT "State_pkey" PRIMARY KEY ("id")
);

-- CreateTable
CREATE TABLE "District" (
"id" SERIAL NOT NULL,
"district_code" INTEGER NOT NULL,
"district_name" TEXT NOT NULL,
"geometry" geometry NOT NULL,
"metadata" JSONB,
"stateId" INTEGER,

CONSTRAINT "District_pkey" PRIMARY KEY ("id")
);

-- CreateTable
CREATE TABLE "SubDistrict" (
"id" SERIAL NOT NULL,
"subdistrict_code" INTEGER NOT NULL,
"subdistrict_name" TEXT NOT NULL,
"geometry" geometry NOT NULL,
"metadata" JSONB,
"districtId" INTEGER,
"stateId" INTEGER,

CONSTRAINT "SubDistrict_pkey" PRIMARY KEY ("id")
);

-- CreateTable
CREATE TABLE "Village" (
"id" SERIAL NOT NULL,
"village_code" SERIAL NOT NULL,
"geometry" geometry NOT NULL,
"village_name" TEXT NOT NULL,
"metadata" JSONB,
"subDistrictId" INTEGER,
"districtId" INTEGER,
"stateId" INTEGER,

CONSTRAINT "Village_pkey" PRIMARY KEY ("id")
);

-- CreateIndex
CREATE UNIQUE INDEX "State_state_code_key" ON "State"("state_code");

-- CreateIndex
CREATE UNIQUE INDEX "State_state_name_key" ON "State"("state_name");

-- CreateIndex
CREATE UNIQUE INDEX "District_district_code_key" ON "District"("district_code");

-- CreateIndex
CREATE UNIQUE INDEX "SubDistrict_subdistrict_code_key" ON "SubDistrict"("subdistrict_code");

-- AddForeignKey
ALTER TABLE "District" ADD CONSTRAINT "District_stateId_fkey" FOREIGN KEY ("stateId") REFERENCES "State"("state_code") ON DELETE SET NULL ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "SubDistrict" ADD CONSTRAINT "SubDistrict_districtId_fkey" FOREIGN KEY ("districtId") REFERENCES "District"("district_code") ON DELETE SET NULL ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "SubDistrict" ADD CONSTRAINT "SubDistrict_stateId_fkey" FOREIGN KEY ("stateId") REFERENCES "State"("state_code") ON DELETE SET NULL ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "Village" ADD CONSTRAINT "Village_subDistrictId_fkey" FOREIGN KEY ("subDistrictId") REFERENCES "SubDistrict"("subdistrict_code") ON DELETE SET NULL ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "Village" ADD CONSTRAINT "Village_districtId_fkey" FOREIGN KEY ("districtId") REFERENCES "District"("district_code") ON DELETE SET NULL ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "Village" ADD CONSTRAINT "Village_stateId_fkey" FOREIGN KEY ("stateId") REFERENCES "State"("state_code") ON DELETE SET NULL ON UPDATE CASCADE;
75 changes: 29 additions & 46 deletions prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -19,75 +19,58 @@ datasource db {
}

model State {
id Int @id @default(autoincrement())
stcode11 Int @unique
stname String @unique
levelLocationName String
stname_sh String
shape_length Float
shape_area Float
state_lgd Int
max_simp_tol Int
metadata Json?
min_simp_tol Int
geometry Unsupported("geometry")
District District[]
SubDistrict SubDistrict[]
Village Village[]
id Int @id @default(autoincrement())
state_code Int @unique
state_name String @unique
metadata Json?
geometry Unsupported("geometry")
District District[]
SubDistrict SubDistrict[]
Village Village[]
}

model District {
id Int @id @default(autoincrement())
dtcode11 Int @unique
dtname String
levelLocationName String
year_stat String
shape_length Float
shape_area Float
dist_lgd Int
geometry Unsupported("geometry")
metadata Json?
id Int @id @default(autoincrement())
district_code Int @unique
district_name String
geometry Unsupported("geometry")
metadata Json?
stateId Int?
state State? @relation(fields: [stateId], references: [stcode11])
state State? @relation(fields: [stateId], references: [state_code])
subDistricts SubDistrict[]
Village Village[]
}

model SubDistrict {
id Int @id @default(autoincrement())
sdtcode11 Int @unique
sdtname String
levelLocationName String
Shape_Length Float
Shape_Area Float
Subdt_LGD Int
geometry Unsupported("geometry")
metadata Json?
id Int @id @default(autoincrement())
subdistrict_code Int @unique
subdistrict_name String
geometry Unsupported("geometry")
metadata Json?
districtId Int?
district District? @relation(fields: [districtId], references: [dtcode11])
district District? @relation(fields: [districtId], references: [district_code])
stateId Int?
state State? @relation(fields: [stateId], references: [stcode11])
state State? @relation(fields: [stateId], references: [state_code])
Village Village[]
}

model Village {
id Int @id @default(autoincrement())
vgcode Int @default(autoincrement())
id Int @id @default(autoincrement())
village_code Int @default(autoincrement())
geometry Unsupported("geometry")
vgname String
metadata Json?
geometry Unsupported("geometry")
village_name String
metadata Json?
subDistrictId Int?
subDistrict SubDistrict? @relation(fields: [subDistrictId], references: [sdtcode11])
subDistrict SubDistrict? @relation(fields: [subDistrictId], references: [subdistrict_code])
districtId Int?
district District? @relation(fields: [districtId], references: [dtcode11])
district District? @relation(fields: [districtId], references: [district_code])
stateId Int?
state State? @relation(fields: [stateId], references: [stcode11])
state State? @relation(fields: [stateId], references: [state_code])
}
Loading

0 comments on commit fd9d15d

Please sign in to comment.