DROP VIEW "public"."esg_evaluations_view";--> statement-breakpoint
ALTER TABLE "esg_evaluations" ADD COLUMN "main_category" varchar(50) NOT NULL;--> statement-breakpoint
CREATE VIEW "public"."esg_evaluations_view" AS (select "esg_evaluations"."id", "esg_evaluations"."serial_number", "esg_evaluations"."category", "esg_evaluations"."main_category", "esg_evaluations"."inspection_item", "esg_evaluations"."is_active", "esg_evaluations"."created_at", "esg_evaluations"."updated_at", count(distinct "esg_evaluation_items"."id") as "total_evaluation_items", count("esg_answer_options"."id") as "total_answer_options", coalesce(sum("esg_answer_options"."score"), 0) as "max_possible_score", 
        (
          SELECT array_agg(evaluation_item order by order_index) 
          FROM esg_evaluation_items 
          WHERE esg_evaluation_id = "esg_evaluations"."id" 
          AND is_active = true 
          AND evaluation_item is not null
        )
       as "evaluation_items_list" from "esg_evaluations" left join "esg_evaluation_items" on "esg_evaluations"."id" = "esg_evaluation_items"."esg_evaluation_id" AND "esg_evaluation_items"."is_active" = true left join "esg_answer_options" on "esg_evaluation_items"."id" = "esg_answer_options"."esg_evaluation_item_id" AND "esg_answer_options"."is_active" = true group by "esg_evaluations"."id", "esg_evaluations"."serial_number", "esg_evaluations"."category", "esg_evaluations"."inspection_item", "esg_evaluations"."is_active", "esg_evaluations"."created_at", "esg_evaluations"."updated_at");