Prepara el modelo de datos para la ingesta multicanal del perfil del lead: - lead_fotos: columnas momento (foto_momento antes/despues, default antes) y zona (tipo_reforma, nullable con fallback al tipoReforma del lead). - lead_notas: tabla append-only de datos de texto por zona (ej. "suelo premium"), con origen (ep|funnel|panel) para auditar quién los aportó. - Migración 0008 + regenerado db-schema/schema.sql. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
13 lines
741 B
SQL
13 lines
741 B
SQL
CREATE TYPE "public"."foto_momento" AS ENUM('antes', 'despues');--> statement-breakpoint
|
|
CREATE TABLE "lead_notas" (
|
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
"lead_id" uuid NOT NULL,
|
|
"zona" "tipo_reforma",
|
|
"texto" text NOT NULL,
|
|
"origen" text DEFAULT 'ep' NOT NULL,
|
|
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
ALTER TABLE "lead_fotos" ADD COLUMN "momento" "foto_momento" DEFAULT 'antes' NOT NULL;--> statement-breakpoint
|
|
ALTER TABLE "lead_fotos" ADD COLUMN "zona" "tipo_reforma";--> statement-breakpoint
|
|
ALTER TABLE "lead_notas" ADD CONSTRAINT "lead_notas_lead_id_leads_id_fk" FOREIGN KEY ("lead_id") REFERENCES "public"."leads"("id") ON DELETE cascade ON UPDATE no action; |