Files
buzz-sheet/drizzle/0055_sour_micromax.sql
T
2026-09-29 21:23:18 +07:00

51 lines
2.8 KiB
SQL

CREATE TABLE "guides"."stygian_boss" (
"schedule_id" integer NOT NULL,
"level" integer NOT NULL,
"position" integer NOT NULL,
"config_id" integer NOT NULL,
"name" text NOT NULL,
"hp" numeric(18, 2) NOT NULL,
"description" text NOT NULL,
"mechanics" jsonb DEFAULT '[]'::jsonb NOT NULL,
"image_key" text NOT NULL,
CONSTRAINT "stygian_boss_schedule_id_level_position_pk" PRIMARY KEY("schedule_id","level","position")
);
--> statement-breakpoint
CREATE TABLE "guides"."stygian_recommendation_group" (
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
"schedule_id" integer NOT NULL,
"level" integer NOT NULL,
"boss_position" integer NOT NULL,
"kind" varchar(16) NOT NULL,
"sort_order" integer DEFAULT 0 NOT NULL
);
--> statement-breakpoint
CREATE TABLE "guides"."stygian_recommendation_item" (
"group_id" uuid NOT NULL,
"position" integer NOT NULL,
"kind" varchar(24) NOT NULL,
"catalog_key" varchar(64),
"character_key" varchar(64),
"constellation_level" integer,
"element" varchar(24),
CONSTRAINT "stygian_recommendation_item_group_id_position_pk" PRIMARY KEY("group_id","position")
);
--> statement-breakpoint
CREATE TABLE "guides"."stygian_schedule" (
"schedule_id" integer PRIMARY KEY NOT NULL,
"challenge_name" varchar(32) NOT NULL,
"schedule_start_time" timestamp with time zone NOT NULL,
"schedule_end_time" timestamp with time zone NOT NULL,
"version" integer DEFAULT 1 NOT NULL,
"is_active" boolean DEFAULT false NOT NULL,
"activated_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
);
--> statement-breakpoint
ALTER TABLE "guides"."stygian_boss" ADD CONSTRAINT "stygian_boss_schedule_id_stygian_schedule_schedule_id_fk" FOREIGN KEY ("schedule_id") REFERENCES "guides"."stygian_schedule"("schedule_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "guides"."stygian_recommendation_group" ADD CONSTRAINT "stygian_recommendation_group_schedule_id_stygian_schedule_schedule_id_fk" FOREIGN KEY ("schedule_id") REFERENCES "guides"."stygian_schedule"("schedule_id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "guides"."stygian_recommendation_item" ADD CONSTRAINT "stygian_recommendation_item_group_id_stygian_recommendation_group_id_fk" FOREIGN KEY ("group_id") REFERENCES "guides"."stygian_recommendation_group"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
CREATE INDEX "stygian_boss_schedule_idx" ON "guides"."stygian_boss" USING btree ("schedule_id","level");--> statement-breakpoint
CREATE INDEX "stygian_recommendation_group_order_idx" ON "guides"."stygian_recommendation_group" USING btree ("schedule_id","level","boss_position","kind","sort_order");--> statement-breakpoint
CREATE INDEX "stygian_schedule_active_idx" ON "guides"."stygian_schedule" USING btree ("is_active");