36 lines
2.3 KiB
SQL
36 lines
2.3 KiB
SQL
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"); |