CREATE TABLE "order_attachments" (
	"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
	"tenant_id" uuid NOT NULL,
	"order_id" uuid NOT NULL,
	"file_name" text NOT NULL,
	"mime_type" text NOT NULL,
	"file_size" integer NOT NULL,
	"file_path" text NOT NULL,
	"uploaded_by" uuid,
	"uploaded_at" timestamp with time zone DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE TABLE "tasks" (
	"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
	"tenant_id" uuid NOT NULL,
	"assignee_id" uuid NOT NULL,
	"created_by" uuid NOT NULL,
	"title" text NOT NULL,
	"description" text,
	"start_date" date,
	"due_date" date,
	"status" text DEFAULT 'NOT_STARTED' NOT NULL,
	"reason" text,
	"completed_at" timestamp with time zone,
	"created_at" timestamp with time zone DEFAULT now() NOT NULL
);
--> statement-breakpoint
ALTER TABLE "announcements" ADD COLUMN "is_pinned" boolean DEFAULT false NOT NULL;--> statement-breakpoint
ALTER TABLE "announcements" ADD COLUMN "expires_at" date;--> statement-breakpoint
ALTER TABLE "announcements" ADD COLUMN "event_date" date;--> statement-breakpoint
ALTER TABLE "announcements" ADD COLUMN "attachment_name" text;--> statement-breakpoint
ALTER TABLE "announcements" ADD COLUMN "attachment_path" text;--> statement-breakpoint
ALTER TABLE "announcements" ADD COLUMN "attachment_mime" text;--> statement-breakpoint
ALTER TABLE "announcements" ADD COLUMN "attachment_size" integer;--> statement-breakpoint
ALTER TABLE "customers" ADD COLUMN "ward" text;--> statement-breakpoint
ALTER TABLE "customers" ADD COLUMN "contact_position" text;--> statement-breakpoint
ALTER TABLE "customers" ADD COLUMN "contact_birth_date" date;--> statement-breakpoint
ALTER TABLE "customers" ADD COLUMN "receiver_name" text;--> statement-breakpoint
ALTER TABLE "customers" ADD COLUMN "receiver_phone" text;--> statement-breakpoint
ALTER TABLE "customers" ADD COLUMN "receiver_address" text;--> statement-breakpoint
ALTER TABLE "customers" ADD COLUMN "lead_need" text;--> statement-breakpoint
ALTER TABLE "customers" ADD COLUMN "lead_source" text;--> statement-breakpoint
ALTER TABLE "customers" ADD COLUMN "lead_status" text DEFAULT 'NOT_CONTACTED' NOT NULL;--> statement-breakpoint
ALTER TABLE "orders" ADD COLUMN "needs_revision" boolean DEFAULT false NOT NULL;--> statement-breakpoint
ALTER TABLE "orders" ADD COLUMN "revision_note" text;--> statement-breakpoint
ALTER TABLE "products" ADD COLUMN "volume" text;--> statement-breakpoint
ALTER TABLE "products" ADD COLUMN "note" text;--> statement-breakpoint
ALTER TABLE "proposals" ADD COLUMN "kind" text;--> statement-breakpoint
ALTER TABLE "training_courses" ADD COLUMN "schedule" text;--> statement-breakpoint
ALTER TABLE "training_courses" ADD COLUMN "conditions" text;--> statement-breakpoint
ALTER TABLE "training_courses" ADD COLUMN "format" text;--> statement-breakpoint
ALTER TABLE "training_courses" ADD COLUMN "has_certificate" boolean DEFAULT false NOT NULL;--> statement-breakpoint
ALTER TABLE "users" ADD COLUMN "birth_date" date;--> statement-breakpoint
ALTER TABLE "users" ADD COLUMN "gender" text;--> statement-breakpoint
ALTER TABLE "users" ADD COLUMN "avatar_data_url" text;--> statement-breakpoint
ALTER TABLE "users" ADD COLUMN "notifications_seen_at" timestamp with time zone;--> statement-breakpoint
ALTER TABLE "order_attachments" ADD CONSTRAINT "order_attachments_order_id_orders_id_fk" FOREIGN KEY ("order_id") REFERENCES "public"."orders"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
CREATE INDEX "order_attachments_order_idx" ON "order_attachments" USING btree ("order_id");--> statement-breakpoint
CREATE INDEX "tasks_tenant_assignee_idx" ON "tasks" USING btree ("tenant_id","assignee_id","status");--> statement-breakpoint
CREATE INDEX "tasks_tenant_start_idx" ON "tasks" USING btree ("tenant_id","start_date");