CREATE TYPE "public"."calidad" AS ENUM('basica', 'media', 'premium');--> statement-breakpoint CREATE TYPE "public"."categoria_material" AS ENUM('suelo', 'pared', 'pintura', 'mobiliario');--> statement-breakpoint CREATE TYPE "public"."unidad_medida" AS ENUM('m2', 'ml', 'ud');--> statement-breakpoint CREATE TABLE "catalog_items" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "tenant_id" uuid NOT NULL, "categoria" "categoria_material" NOT NULL, "nombre" text NOT NULL, "calidad" "calidad" NOT NULL, "precio_unit" integer NOT NULL, "unidad" "unidad_medida" NOT NULL, "descriptor_render" text DEFAULT '' NOT NULL, "es_default" boolean DEFAULT false NOT NULL, "sku" text NOT NULL ); --> statement-breakpoint CREATE TABLE "pricing_config" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "tenant_id" uuid NOT NULL, "altura_techo_default" double precision DEFAULT 2.5 NOT NULL, "factor_zona" jsonb DEFAULT '{}'::jsonb NOT NULL, "mano_obra" jsonb DEFAULT '{}'::jsonb NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT "pricing_config_tenant_id_unique" UNIQUE("tenant_id") ); --> statement-breakpoint ALTER TABLE "leads" ADD COLUMN "m2_suelo" double precision;--> statement-breakpoint ALTER TABLE "leads" ADD COLUMN "altura_techo" double precision;--> statement-breakpoint ALTER TABLE "leads" ADD COLUMN "calidad_global" "calidad";--> statement-breakpoint ALTER TABLE "leads" ADD COLUMN "estructural" boolean DEFAULT false NOT NULL;--> statement-breakpoint ALTER TABLE "leads" ADD COLUMN "material_selections" jsonb DEFAULT '{}'::jsonb NOT NULL;--> statement-breakpoint ALTER TABLE "leads" ADD COLUMN "desglose_snapshot" jsonb;--> statement-breakpoint ALTER TABLE "catalog_items" ADD CONSTRAINT "catalog_items_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "pricing_config" ADD CONSTRAINT "pricing_config_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint CREATE INDEX "catalog_tenant_idx" ON "catalog_items" USING btree ("tenant_id");--> statement-breakpoint CREATE UNIQUE INDEX "catalog_tenant_sku_idx" ON "catalog_items" USING btree ("tenant_id","sku");