feat: initial API Ubigeo Peru - INEI 2025 + países del mundo

This commit is contained in:
Gianpierre Mio
2026-03-09 22:55:29 -05:00
commit a789d33bee
41 changed files with 12754 additions and 0 deletions

85
prisma/schema.prisma Normal file
View File

@@ -0,0 +1,85 @@
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
}
model Pais {
id Int @id @default(autoincrement())
codigo String @unique @db.VarChar(3)
codigoAlpha2 String @unique @map("codigo_alpha2") @db.VarChar(2)
nombre String @db.VarChar(100)
nombreEn String @map("nombre_en") @db.VarChar(100)
capital String @db.VarChar(100)
region String @db.VarChar(50)
subregion String @db.VarChar(50)
emoji String @db.VarChar(10)
latitud Decimal? @db.Decimal(10, 8)
longitud Decimal? @db.Decimal(11, 8)
activo Boolean @default(true)
createdAt DateTime @default(now()) @map("created_at")
@@index([codigo])
@@index([codigoAlpha2])
@@index([nombre])
@@index([region])
@@map("paises")
}
model Departamento {
id Int @id @default(autoincrement())
codigo String @unique @db.VarChar(2)
nombre String @db.VarChar(100)
latitud Decimal? @db.Decimal(10, 8)
longitud Decimal? @db.Decimal(11, 8)
createdAt DateTime @default(now()) @map("created_at")
provincias Provincia[]
@@index([codigo])
@@index([nombre])
@@map("departamentos")
}
model Provincia {
id Int @id @default(autoincrement())
codigo String @unique @db.VarChar(4)
codigoDep String @map("codigo_dep") @db.VarChar(2)
nombre String @db.VarChar(100)
latitud Decimal? @db.Decimal(10, 8)
longitud Decimal? @db.Decimal(11, 8)
createdAt DateTime @default(now()) @map("created_at")
departamento Departamento @relation(fields: [codigoDep], references: [codigo])
distritos Distrito[]
@@index([codigo])
@@index([codigoDep])
@@index([nombre])
@@map("provincias")
}
model Distrito {
id Int @id @default(autoincrement())
codigo String @unique @db.VarChar(6)
codigoProv String @map("codigo_prov") @db.VarChar(4)
codigoDep String @map("codigo_dep") @db.VarChar(2)
nombre String @db.VarChar(100)
capital String? @db.VarChar(100)
categoria String? @db.VarChar(30)
altitud Decimal? @db.Decimal(10, 2)
poblacion Int?
latitud Decimal? @db.Decimal(10, 8)
longitud Decimal? @db.Decimal(11, 8)
createdAt DateTime @default(now()) @map("created_at")
provincia Provincia @relation(fields: [codigoProv], references: [codigo])
@@index([codigo])
@@index([codigoProv])
@@index([codigoDep])
@@index([nombre])
@@map("distritos")
}