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

View File

@@ -0,0 +1,121 @@
-- CreateTable
CREATE TABLE "paises" (
"id" SERIAL NOT NULL,
"codigo" VARCHAR(3) NOT NULL,
"codigo_alpha2" VARCHAR(2) NOT NULL,
"nombre" VARCHAR(100) NOT NULL,
"nombre_en" VARCHAR(100) NOT NULL,
"capital" VARCHAR(100) NOT NULL,
"region" VARCHAR(50) NOT NULL,
"subregion" VARCHAR(50) NOT NULL,
"emoji" VARCHAR(10) NOT NULL,
"latitud" DECIMAL(10,8),
"longitud" DECIMAL(11,8),
"activo" BOOLEAN NOT NULL DEFAULT true,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "paises_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "departamentos" (
"id" SERIAL NOT NULL,
"codigo" VARCHAR(2) NOT NULL,
"nombre" VARCHAR(100) NOT NULL,
"latitud" DECIMAL(10,8),
"longitud" DECIMAL(11,8),
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "departamentos_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "provincias" (
"id" SERIAL NOT NULL,
"codigo" VARCHAR(4) NOT NULL,
"codigo_dep" VARCHAR(2) NOT NULL,
"nombre" VARCHAR(100) NOT NULL,
"latitud" DECIMAL(10,8),
"longitud" DECIMAL(11,8),
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "provincias_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "distritos" (
"id" SERIAL NOT NULL,
"codigo" VARCHAR(6) NOT NULL,
"codigo_prov" VARCHAR(4) NOT NULL,
"codigo_dep" VARCHAR(2) NOT NULL,
"nombre" VARCHAR(100) NOT NULL,
"capital" VARCHAR(100),
"categoria" VARCHAR(30),
"altitud" DECIMAL(10,2),
"poblacion" INTEGER,
"latitud" DECIMAL(10,8),
"longitud" DECIMAL(11,8),
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "distritos_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "paises_codigo_key" ON "paises"("codigo");
-- CreateIndex
CREATE UNIQUE INDEX "paises_codigo_alpha2_key" ON "paises"("codigo_alpha2");
-- CreateIndex
CREATE INDEX "paises_codigo_idx" ON "paises"("codigo");
-- CreateIndex
CREATE INDEX "paises_codigo_alpha2_idx" ON "paises"("codigo_alpha2");
-- CreateIndex
CREATE INDEX "paises_nombre_idx" ON "paises"("nombre");
-- CreateIndex
CREATE INDEX "paises_region_idx" ON "paises"("region");
-- CreateIndex
CREATE UNIQUE INDEX "departamentos_codigo_key" ON "departamentos"("codigo");
-- CreateIndex
CREATE INDEX "departamentos_codigo_idx" ON "departamentos"("codigo");
-- CreateIndex
CREATE INDEX "departamentos_nombre_idx" ON "departamentos"("nombre");
-- CreateIndex
CREATE UNIQUE INDEX "provincias_codigo_key" ON "provincias"("codigo");
-- CreateIndex
CREATE INDEX "provincias_codigo_idx" ON "provincias"("codigo");
-- CreateIndex
CREATE INDEX "provincias_codigo_dep_idx" ON "provincias"("codigo_dep");
-- CreateIndex
CREATE INDEX "provincias_nombre_idx" ON "provincias"("nombre");
-- CreateIndex
CREATE UNIQUE INDEX "distritos_codigo_key" ON "distritos"("codigo");
-- CreateIndex
CREATE INDEX "distritos_codigo_idx" ON "distritos"("codigo");
-- CreateIndex
CREATE INDEX "distritos_codigo_prov_idx" ON "distritos"("codigo_prov");
-- CreateIndex
CREATE INDEX "distritos_codigo_dep_idx" ON "distritos"("codigo_dep");
-- CreateIndex
CREATE INDEX "distritos_nombre_idx" ON "distritos"("nombre");
-- AddForeignKey
ALTER TABLE "provincias" ADD CONSTRAINT "provincias_codigo_dep_fkey" FOREIGN KEY ("codigo_dep") REFERENCES "departamentos"("codigo") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "distritos" ADD CONSTRAINT "distritos_codigo_prov_fkey" FOREIGN KEY ("codigo_prov") REFERENCES "provincias"("codigo") ON DELETE RESTRICT ON UPDATE CASCADE;

View File

@@ -0,0 +1,3 @@
# Please do not edit this file manually
# It should be added in your version-control system (e.g., Git)
provider = "postgresql"