-- Módulo Desarrollos: catálogo de desarrollos (ficha, modelos y reglas del -- cotizador) más el piso (`nivel`) del inventario. -- Patrón manual: sqlite3 + _prisma_migrations. NUNCA migrate dev. -- CreateTable Desarrollo CREATE TABLE IF NOT EXISTS "Desarrollo" ( "id" TEXT NOT NULL PRIMARY KEY, "clave" TEXT NOT NULL, "nombre" TEXT NOT NULL, "estado" TEXT NOT NULL DEFAULT 'ACTIVO', "tipo" TEXT NOT NULL DEFAULT 'VERTICAL', "constructora" TEXT, "direccion" TEXT, "zona" TEXT, "descripcion" TEXT, "amenidades" TEXT, "fechaInicioObra" DATETIME, "fechaEntregaProgramada" DATETIME, "fechaEntregaReprogramada" DATETIME, "activoEnCotizador" BOOLEAN NOT NULL DEFAULT true, "activoEnAlta" BOOLEAN NOT NULL DEFAULT true, "prefijoUnidadPdf" TEXT, "imagenUrl" TEXT, "logoUrl" TEXT, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" DATETIME NOT NULL ); CREATE UNIQUE INDEX IF NOT EXISTS "Desarrollo_clave_key" ON "Desarrollo"("clave"); CREATE INDEX IF NOT EXISTS "Desarrollo_estado_idx" ON "Desarrollo"("estado"); -- CreateTable ModeloDesarrollo CREATE TABLE IF NOT EXISTS "ModeloDesarrollo" ( "id" TEXT NOT NULL PRIMARY KEY, "desarrolloId" TEXT NOT NULL, "nombre" TEXT NOT NULL, "recamaras" INTEGER, "banos" REAL, "estacionamientos" INTEGER, "supConstruccion" REAL, "activo" BOOLEAN NOT NULL DEFAULT true, CONSTRAINT "ModeloDesarrollo_desarrolloId_fkey" FOREIGN KEY ("desarrolloId") REFERENCES "Desarrollo" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); CREATE UNIQUE INDEX IF NOT EXISTS "ModeloDesarrollo_desarrolloId_nombre_key" ON "ModeloDesarrollo"("desarrolloId", "nombre"); CREATE INDEX IF NOT EXISTS "ModeloDesarrollo_desarrolloId_idx" ON "ModeloDesarrollo"("desarrolloId"); -- CreateTable ReglaCotizadorDesarrollo -- `desarrolloId` guarda el uuid de `Desarrollo.id` (lo que escriben el seed y -- PUT /desarrollos/:id/reglas). El endpoint del cotizador traduce uuid → clave. CREATE TABLE IF NOT EXISTS "ReglaCotizadorDesarrollo" ( "desarrolloId" TEXT NOT NULL PRIMARY KEY, "parametrosJson" TEXT NOT NULL, "updatedAt" DATETIME NOT NULL, "updatedPorId" TEXT, CONSTRAINT "ReglaCotizadorDesarrollo_desarrolloId_fkey" FOREIGN KEY ("desarrolloId") REFERENCES "Desarrollo" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- AlterTable Unidad: piso del inventario ('' si no aplica) ALTER TABLE "Unidad" ADD COLUMN "nivel" TEXT NOT NULL DEFAULT '';