CREATE TABLE "guides"."constellation_condition" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "guide_id" uuid NOT NULL, "note" text, "sort_order" integer DEFAULT 0 NOT NULL ); --> statement-breakpoint ALTER TABLE "guides"."constellation_condition" ADD CONSTRAINT "constellation_condition_guide_id_guide_id_fk" FOREIGN KEY ("guide_id") REFERENCES "guides"."guide"("id") ON DELETE cascade ON UPDATE no action; --> statement-breakpoint CREATE INDEX "constellation_condition_order_idx" ON "guides"."constellation_condition" USING btree ("guide_id","sort_order"); --> statement-breakpoint INSERT INTO "guides"."constellation_condition" ("id", "guide_id", "note", "sort_order") SELECT gen_random_uuid(), "guide_id", NULL, 0 FROM "guides"."constellation_recommendation" GROUP BY "guide_id"; --> statement-breakpoint ALTER TABLE "guides"."constellation_recommendation" ADD COLUMN "condition_id" uuid; --> statement-breakpoint UPDATE "guides"."constellation_recommendation" AS recommendation SET "condition_id" = condition_group."id" FROM "guides"."constellation_condition" AS condition_group WHERE condition_group."guide_id" = recommendation."guide_id" AND condition_group."sort_order" = 0; --> statement-breakpoint ALTER TABLE "guides"."constellation_recommendation" ALTER COLUMN "condition_id" SET NOT NULL; --> statement-breakpoint ALTER TABLE "guides"."constellation_recommendation" DROP CONSTRAINT "constellation_recommendation_guide_id_guide_id_fk"; --> statement-breakpoint ALTER TABLE "guides"."constellation_recommendation" DROP CONSTRAINT "constellation_recommendation_guide_id_level_pk"; --> statement-breakpoint ALTER TABLE "guides"."constellation_recommendation" ADD CONSTRAINT "constellation_recommendation_condition_id_level_pk" PRIMARY KEY("condition_id","level"); --> statement-breakpoint ALTER TABLE "guides"."constellation_recommendation" ADD CONSTRAINT "constellation_recommendation_condition_id_constellation_condition_id_fk" FOREIGN KEY ("condition_id") REFERENCES "guides"."constellation_condition"("id") ON DELETE cascade ON UPDATE no action; --> statement-breakpoint ALTER TABLE "guides"."constellation_recommendation" DROP COLUMN "guide_id";