CREATE TABLE "ocr_rotation_attempts" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "session_id" uuid NOT NULL, "rotation" integer NOT NULL, "confidence" numeric(5, 4), "tables_found" integer DEFAULT 0 NOT NULL, "text_quality" numeric(5, 4), "keyword_count" integer DEFAULT 0 NOT NULL, "score" numeric(5, 4), "extracted_rows_count" integer DEFAULT 0 NOT NULL, "created_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "ocr_rows" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "table_id" uuid NOT NULL, "session_id" uuid NOT NULL, "row_index" integer NOT NULL, "no" varchar(50), "identification_no" varchar(100), "tag_no" varchar(100), "joint_no" varchar(100), "joint_type" varchar(100), "welding_date" varchar(50), "confidence" numeric(5, 4), "source_table" integer, "source_row" integer, "created_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "ocr_sessions" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "file_name" varchar(255) NOT NULL, "file_size" integer NOT NULL, "file_type" varchar(50) NOT NULL, "processing_time" integer NOT NULL, "best_rotation" integer DEFAULT 0 NOT NULL, "total_tables" integer DEFAULT 0 NOT NULL, "total_rows" integer DEFAULT 0 NOT NULL, "image_enhanced" boolean DEFAULT false NOT NULL, "pdf_converted" boolean DEFAULT false NOT NULL, "success" boolean DEFAULT true NOT NULL, "error_message" text, "warnings" jsonb, "created_at" timestamp DEFAULT now() NOT NULL, "updated_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "ocr_tables" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "session_id" uuid NOT NULL, "table_index" integer NOT NULL, "row_count" integer DEFAULT 0 NOT NULL, "created_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint ALTER TABLE "ocr_rotation_attempts" ADD CONSTRAINT "ocr_rotation_attempts_session_id_ocr_sessions_id_fk" FOREIGN KEY ("session_id") REFERENCES "public"."ocr_sessions"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "ocr_rows" ADD CONSTRAINT "ocr_rows_table_id_ocr_tables_id_fk" FOREIGN KEY ("table_id") REFERENCES "public"."ocr_tables"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "ocr_rows" ADD CONSTRAINT "ocr_rows_session_id_ocr_sessions_id_fk" FOREIGN KEY ("session_id") REFERENCES "public"."ocr_sessions"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "ocr_tables" ADD CONSTRAINT "ocr_tables_session_id_ocr_sessions_id_fk" FOREIGN KEY ("session_id") REFERENCES "public"."ocr_sessions"("id") ON DELETE cascade ON UPDATE no action;