CREATE TABLE "crm_approval_actions" ( "id" text PRIMARY KEY NOT NULL, "organization_id" text NOT NULL, "approval_request_id" text NOT NULL, "step_number" integer NOT NULL, "action" text NOT NULL, "remark" text, "acted_by" text NOT NULL, "acted_at" timestamp with time zone DEFAULT now() NOT NULL, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL, "deleted_at" timestamp with time zone ); --> statement-breakpoint CREATE TABLE "crm_approval_requests" ( "id" text PRIMARY KEY NOT NULL, "organization_id" text NOT NULL, "workflow_id" text NOT NULL, "entity_type" text NOT NULL, "entity_id" text NOT NULL, "current_step" integer DEFAULT 1 NOT NULL, "status" text NOT NULL, "requested_by" text NOT NULL, "requested_at" timestamp with time zone DEFAULT now() NOT NULL, "completed_at" timestamp with time zone, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL, "deleted_at" timestamp with time zone ); --> statement-breakpoint CREATE TABLE "crm_approval_steps" ( "id" text PRIMARY KEY NOT NULL, "organization_id" text NOT NULL, "workflow_id" text NOT NULL, "step_number" integer NOT NULL, "role_code" text NOT NULL, "role_name" text NOT NULL, "is_required" boolean DEFAULT true NOT NULL, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL, "deleted_at" timestamp with time zone ); --> statement-breakpoint CREATE TABLE "crm_approval_workflows" ( "id" text PRIMARY KEY NOT NULL, "organization_id" text NOT NULL, "code" text NOT NULL, "name" text NOT NULL, "entity_type" text NOT NULL, "is_active" boolean DEFAULT true NOT NULL, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL, "deleted_at" timestamp with time zone ); --> statement-breakpoint CREATE UNIQUE INDEX "crm_approval_steps_workflow_step_idx" ON "crm_approval_steps" USING btree ("workflow_id","step_number");--> statement-breakpoint CREATE UNIQUE INDEX "crm_approval_workflows_org_code_idx" ON "crm_approval_workflows" USING btree ("organization_id","code");