453 lines
30 KiB
SQL
453 lines
30 KiB
SQL
-- Current sql file was generated after introspecting the database
|
|
-- If you want to run this migration please uncomment this code before executing migrations
|
|
/*
|
|
CREATE SEQUENCE "public"."auth_group_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1;--> statement-breakpoint
|
|
CREATE SEQUENCE "public"."auth_group_permissions_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1;--> statement-breakpoint
|
|
CREATE SEQUENCE "public"."auth_permission_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1;--> statement-breakpoint
|
|
CREATE SEQUENCE "public"."django_content_type_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1;--> statement-breakpoint
|
|
CREATE SEQUENCE "public"."django_migrations_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1;--> statement-breakpoint
|
|
CREATE TABLE "ai_analysis" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "ai_analysis_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"provider" text NOT NULL,
|
|
"data" jsonb NOT NULL,
|
|
"system_prompt" text NOT NULL,
|
|
"user_prompt" text NOT NULL,
|
|
"analysis" text NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"user_id" integer NOT NULL,
|
|
"model" text NOT NULL,
|
|
"is_pinned" boolean NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "announcement" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"title" text NOT NULL,
|
|
"content" text NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"last_update_time" timestamp with time zone NOT NULL,
|
|
"visible" boolean NOT NULL,
|
|
"created_by_id" integer NOT NULL,
|
|
"tag" text NOT NULL,
|
|
"top" boolean NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "achievement" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "achievement_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"name" text NOT NULL,
|
|
"description" text NOT NULL,
|
|
"icon" text NOT NULL,
|
|
"rarity" text NOT NULL,
|
|
"hidden" boolean DEFAULT false NOT NULL,
|
|
"metric" text NOT NULL,
|
|
"operator" text NOT NULL,
|
|
"threshold" integer NOT NULL,
|
|
"visible" boolean DEFAULT true NOT NULL,
|
|
"unlock_count" integer DEFAULT 0 NOT NULL,
|
|
"order" integer DEFAULT 0 NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "contest" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"title" text NOT NULL,
|
|
"description" text NOT NULL,
|
|
"password" text,
|
|
"start_time" timestamp with time zone NOT NULL,
|
|
"end_time" timestamp with time zone NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"last_update_time" timestamp with time zone NOT NULL,
|
|
"visible" boolean NOT NULL,
|
|
"created_by_id" integer NOT NULL,
|
|
"allowed_ip_ranges" jsonb NOT NULL,
|
|
"tag" text NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "contest_announcement" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"title" text NOT NULL,
|
|
"content" text NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"contest_id" integer NOT NULL,
|
|
"created_by_id" integer NOT NULL,
|
|
"visible" boolean NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "flowchart_submission" (
|
|
"id" text PRIMARY KEY NOT NULL,
|
|
"mermaid_code" text NOT NULL,
|
|
"flowchart_data" jsonb NOT NULL,
|
|
"status" integer NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"ai_score" double precision,
|
|
"ai_grade" varchar(10),
|
|
"ai_feedback" text,
|
|
"ai_suggestions" text,
|
|
"ai_criteria_details" jsonb NOT NULL,
|
|
"ai_provider" varchar(50) NOT NULL,
|
|
"ai_model" varchar(50) NOT NULL,
|
|
"processing_time" double precision,
|
|
"evaluation_time" timestamp with time zone,
|
|
"problem_id" integer NOT NULL,
|
|
"user_id" integer NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "message" (
|
|
"id" integer PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "message_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
|
"message" text NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"recipient_id" integer NOT NULL,
|
|
"sender_id" integer NOT NULL,
|
|
"submission_id" text NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "judge_server" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"hostname" text NOT NULL,
|
|
"ip" text,
|
|
"judger_version" text NOT NULL,
|
|
"cpu_core" integer NOT NULL,
|
|
"memory_usage" double precision NOT NULL,
|
|
"cpu_usage" double precision NOT NULL,
|
|
"last_heartbeat" timestamp with time zone NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"task_number" integer NOT NULL,
|
|
"service_url" text,
|
|
"is_disabled" boolean NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "exercise" (
|
|
"id" integer PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "exercise_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
|
"type" varchar(16) NOT NULL,
|
|
"data" jsonb NOT NULL,
|
|
"order" integer NOT NULL,
|
|
"created_at" timestamp with time zone NOT NULL,
|
|
"tutorial_id" integer NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "options_sysoptions" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"key" text NOT NULL,
|
|
"value" jsonb NOT NULL,
|
|
CONSTRAINT "options_sysoptions_key_key" UNIQUE("key")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "problemset" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "problemset_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"title" text NOT NULL,
|
|
"description" text NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"last_update_time" timestamp with time zone NOT NULL,
|
|
"visible" boolean NOT NULL,
|
|
"difficulty" text NOT NULL,
|
|
"status" text NOT NULL,
|
|
"created_by_id" integer NOT NULL,
|
|
"end_time" timestamp with time zone
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "problemset_problem" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "problemset_problem_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"order" integer NOT NULL,
|
|
"is_required" boolean NOT NULL,
|
|
"score" integer NOT NULL,
|
|
"hint" text,
|
|
"problem_id" integer NOT NULL,
|
|
"problemset_id" bigint NOT NULL,
|
|
CONSTRAINT "unique_problemset_problem" UNIQUE("problem_id","problemset_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "problemset_progress" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "problemset_progress_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"join_time" timestamp with time zone NOT NULL,
|
|
"complete_time" timestamp with time zone,
|
|
"is_completed" boolean NOT NULL,
|
|
"progress_percentage" double precision NOT NULL,
|
|
"completed_problems_count" integer NOT NULL,
|
|
"total_problems_count" integer NOT NULL,
|
|
"total_score" integer NOT NULL,
|
|
"progress_detail" jsonb NOT NULL,
|
|
"problemset_id" bigint NOT NULL,
|
|
"user_id" integer NOT NULL,
|
|
CONSTRAINT "unique_problemset_progress_user" UNIQUE("problemset_id","user_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "problemset_submission" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "problemset_submission_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"problem_id" integer NOT NULL,
|
|
"problemset_id" bigint NOT NULL,
|
|
"submission_id" text NOT NULL,
|
|
"user_id" integer NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "reaction" (
|
|
"id" integer PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "reaction_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
|
"type" varchar(20) NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"problem_id" integer NOT NULL,
|
|
"user_id" integer NOT NULL,
|
|
CONSTRAINT "reaction_problem_user_unique" UNIQUE("problem_id","user_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "problem" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"title" text NOT NULL,
|
|
"description" text NOT NULL,
|
|
"input_description" text NOT NULL,
|
|
"output_description" text NOT NULL,
|
|
"samples" jsonb NOT NULL,
|
|
"test_case_id" text NOT NULL,
|
|
"test_case_score" jsonb NOT NULL,
|
|
"hint" text,
|
|
"languages" jsonb NOT NULL,
|
|
"template" jsonb NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"last_update_time" timestamp with time zone,
|
|
"time_limit" integer NOT NULL,
|
|
"memory_limit" integer NOT NULL,
|
|
"visible" boolean DEFAULT true NOT NULL,
|
|
"difficulty" text NOT NULL,
|
|
"source" text,
|
|
"submission_number" bigint DEFAULT 0 NOT NULL,
|
|
"accepted_number" bigint DEFAULT 0 NOT NULL,
|
|
"created_by_id" integer NOT NULL,
|
|
"_id" text NOT NULL,
|
|
"statistic_info" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
"contest_id" integer,
|
|
"is_public" boolean DEFAULT false NOT NULL,
|
|
"share_submission" boolean DEFAULT false NOT NULL,
|
|
"prompt" text,
|
|
"answers" jsonb,
|
|
"allow_flowchart" boolean DEFAULT false NOT NULL,
|
|
"flowchart_data" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
"flowchart_hint" text,
|
|
"mermaid_code" text,
|
|
"show_flowchart" boolean DEFAULT false NOT NULL,
|
|
"ast_rules" jsonb,
|
|
"sql_config" jsonb,
|
|
"sql_display" jsonb,
|
|
CONSTRAINT "unique_problem_id_contest" UNIQUE("_id","contest_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "problem_tags" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"problem_id" integer NOT NULL,
|
|
"problemtag_id" integer NOT NULL,
|
|
CONSTRAINT "problem_tags_problem_id_problemtag_id_318459d1_uniq" UNIQUE("problem_id","problemtag_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "problem_tag" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"name" text NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "submission" (
|
|
"id" text PRIMARY KEY NOT NULL,
|
|
"contest_id" integer,
|
|
"problem_id" integer NOT NULL,
|
|
"create_time" timestamp with time zone NOT NULL,
|
|
"user_id" integer NOT NULL,
|
|
"code" text NOT NULL,
|
|
"result" integer DEFAULT 6 NOT NULL,
|
|
"info" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
"language" text NOT NULL,
|
|
"shared" boolean DEFAULT false NOT NULL,
|
|
"statistic_info" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
"username" text NOT NULL,
|
|
"ip" text
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "tutorial" (
|
|
"id" integer PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "tutorial_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
|
"title" varchar(128) NOT NULL,
|
|
"content" text NOT NULL,
|
|
"created_at" timestamp with time zone NOT NULL,
|
|
"updated_at" timestamp with time zone NOT NULL,
|
|
"is_public" boolean NOT NULL,
|
|
"order" integer NOT NULL,
|
|
"created_by_id" integer NOT NULL,
|
|
"code" text,
|
|
"type" varchar(10) NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "user_stat" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "user_stat_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"metrics" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
"update_time" timestamp with time zone NOT NULL,
|
|
"user_id" integer NOT NULL,
|
|
CONSTRAINT "user_stat_user_id_key" UNIQUE("user_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "user_achievement" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "user_achievement_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"unlock_time" timestamp with time zone NOT NULL,
|
|
"backfilled" boolean DEFAULT false NOT NULL,
|
|
"notified" boolean DEFAULT false NOT NULL,
|
|
"achievement_id" bigint NOT NULL,
|
|
"user_id" integer NOT NULL,
|
|
CONSTRAINT "unique_user_achievement" UNIQUE("achievement_id","user_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "user_badge" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "user_badge_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"earned_time" timestamp with time zone NOT NULL,
|
|
"badge_id" bigint NOT NULL,
|
|
"user_id" integer NOT NULL,
|
|
CONSTRAINT "unique_user_badge" UNIQUE("badge_id","user_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "user_profile" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"acm_problems_status" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
"avatar" text NOT NULL,
|
|
"blog" varchar(200),
|
|
"mood" text,
|
|
"accepted_number" integer DEFAULT 0 NOT NULL,
|
|
"submission_number" integer DEFAULT 0 NOT NULL,
|
|
"github" text,
|
|
"school" text,
|
|
"major" text,
|
|
"user_id" integer NOT NULL,
|
|
"real_name" text,
|
|
"language" text,
|
|
CONSTRAINT "user_profile_user_id_key" UNIQUE("user_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "acm_contest_rank" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"submission_number" integer DEFAULT 0 NOT NULL,
|
|
"accepted_number" integer DEFAULT 0 NOT NULL,
|
|
"total_time" integer DEFAULT 0 NOT NULL,
|
|
"submission_info" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
"contest_id" integer NOT NULL,
|
|
"user_id" integer NOT NULL,
|
|
CONSTRAINT "unique_acm_rank_user_contest" UNIQUE("contest_id","user_id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "user" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"password" varchar(128) NOT NULL,
|
|
"last_login" timestamp with time zone,
|
|
"username" text NOT NULL,
|
|
"email" text,
|
|
"create_time" timestamp with time zone,
|
|
"admin_type" text NOT NULL,
|
|
"auth_token" text,
|
|
"open_api" boolean DEFAULT false NOT NULL,
|
|
"open_api_appkey" text,
|
|
"is_disabled" boolean DEFAULT false NOT NULL,
|
|
"problem_permission" text NOT NULL,
|
|
"session_keys" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
"raw_password" varchar(20),
|
|
"class_name" text,
|
|
CONSTRAINT "user_username_key" UNIQUE("username")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "problemset_badge" (
|
|
"id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "problemset_badge_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
"name" text NOT NULL,
|
|
"description" text NOT NULL,
|
|
"icon" text NOT NULL,
|
|
"condition_type" text NOT NULL,
|
|
"condition_value" integer NOT NULL,
|
|
"problemset_id" bigint NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
ALTER TABLE "ai_analysis" ADD CONSTRAINT "ai_analysis_user_id_3aa23011_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "announcement" ADD CONSTRAINT "announcement_created_by_id_359ccf50_fk_user_id" FOREIGN KEY ("created_by_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "contest" ADD CONSTRAINT "contest_created_by_id_a763ca7e_fk_user_id" FOREIGN KEY ("created_by_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "contest_announcement" ADD CONSTRAINT "contest_announcement_contest_id_a8cb419f_fk_contest_id" FOREIGN KEY ("contest_id") REFERENCES "public"."contest"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "contest_announcement" ADD CONSTRAINT "contest_announcement_created_by_id_469a14ce_fk_user_id" FOREIGN KEY ("created_by_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "flowchart_submission" ADD CONSTRAINT "flowchart_submission_problem_id_8551edbf_fk_problem_id" FOREIGN KEY ("problem_id") REFERENCES "public"."problem"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "flowchart_submission" ADD CONSTRAINT "flowchart_submission_user_id_225c83e8_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "message" ADD CONSTRAINT "message_recipient_id_2aa5dd76_fk_user_id" FOREIGN KEY ("recipient_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "message" ADD CONSTRAINT "message_sender_id_a2a2e825_fk_user_id" FOREIGN KEY ("sender_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "message" ADD CONSTRAINT "message_submission_id_2fdf8a47_fk_submission_id" FOREIGN KEY ("submission_id") REFERENCES "public"."submission"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "exercise" ADD CONSTRAINT "exercise_tutorial_id_6fd04055_fk_tutorial_id" FOREIGN KEY ("tutorial_id") REFERENCES "public"."tutorial"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset" ADD CONSTRAINT "problemset_created_by_id_01b5197f_fk_user_id" FOREIGN KEY ("created_by_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset_problem" ADD CONSTRAINT "problemset_problem_problem_id_fff2d686_fk_problem_id" FOREIGN KEY ("problem_id") REFERENCES "public"."problem"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset_problem" ADD CONSTRAINT "problemset_problem_problemset_id_350d17fb_fk_problemset_id" FOREIGN KEY ("problemset_id") REFERENCES "public"."problemset"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset_progress" ADD CONSTRAINT "problemset_progress_problemset_id_20a9632e_fk_problemset_id" FOREIGN KEY ("problemset_id") REFERENCES "public"."problemset"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset_progress" ADD CONSTRAINT "problemset_progress_user_id_c8041a80_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset_submission" ADD CONSTRAINT "problemset_submission_problem_id_5629b105_fk_problem_id" FOREIGN KEY ("problem_id") REFERENCES "public"."problem"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset_submission" ADD CONSTRAINT "problemset_submission_problemset_id_85290e17_fk_problemset_id" FOREIGN KEY ("problemset_id") REFERENCES "public"."problemset"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset_submission" ADD CONSTRAINT "problemset_submission_submission_id_78e2b807_fk_submission_id" FOREIGN KEY ("submission_id") REFERENCES "public"."submission"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset_submission" ADD CONSTRAINT "problemset_submission_user_id_915fc9c6_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "reaction" ADD CONSTRAINT "reaction_problem_id_a7f3b9f3_fk_problem_id" FOREIGN KEY ("problem_id") REFERENCES "public"."problem"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "reaction" ADD CONSTRAINT "reaction_user_id_cfa7f469_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problem" ADD CONSTRAINT "problem_contest_id_328e013a_fk_contest_id" FOREIGN KEY ("contest_id") REFERENCES "public"."contest"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problem" ADD CONSTRAINT "problem_created_by_id_cb362143_fk_user_id" FOREIGN KEY ("created_by_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problem_tags" ADD CONSTRAINT "problem_tags_problem_id_866ecb8d_fk_problem_id" FOREIGN KEY ("problem_id") REFERENCES "public"."problem"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problem_tags" ADD CONSTRAINT "problem_tags_problemtag_id_72d20571_fk_problem_tag_id" FOREIGN KEY ("problemtag_id") REFERENCES "public"."problem_tag"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "submission" ADD CONSTRAINT "submission_contest_id_775716d5_fk_contest_id" FOREIGN KEY ("contest_id") REFERENCES "public"."contest"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "submission" ADD CONSTRAINT "submission_problem_id_76847b55_fk_problem_id" FOREIGN KEY ("problem_id") REFERENCES "public"."problem"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "tutorial" ADD CONSTRAINT "tutorial_created_by_id_07973cab_fk_user_id" FOREIGN KEY ("created_by_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "user_stat" ADD CONSTRAINT "user_stat_user_id_73337fc0_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "user_achievement" ADD CONSTRAINT "user_achievement_achievement_id_29db600d_fk_achievement_id" FOREIGN KEY ("achievement_id") REFERENCES "public"."achievement"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "user_achievement" ADD CONSTRAINT "user_achievement_user_id_b8ec7d6a_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "user_badge" ADD CONSTRAINT "user_badge_badge_id_92a983e9_fk_problemset_badge_id" FOREIGN KEY ("badge_id") REFERENCES "public"."problemset_badge"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "user_badge" ADD CONSTRAINT "user_badge_user_id_a286d718_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "user_profile" ADD CONSTRAINT "user_profile_user_id_8fdce8e2_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "acm_contest_rank" ADD CONSTRAINT "acm_contest_rank_contest_id_21030ccd_fk_contest_id" FOREIGN KEY ("contest_id") REFERENCES "public"."contest"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "acm_contest_rank" ADD CONSTRAINT "acm_contest_rank_user_id_40391ab2_fk_user_id" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "problemset_badge" ADD CONSTRAINT "problemset_badge_problemset_id_6cb6c74f_fk_problemset_id" FOREIGN KEY ("problemset_id") REFERENCES "public"."problemset"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
CREATE INDEX "ai_analysis_user_id_3aa23011" ON "ai_analysis" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "announcement_created_by_id_359ccf50" ON "announcement" USING btree ("created_by_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "announcement_list_idx" ON "announcement" USING btree ("visible" bool_ops,"top" bool_ops,"create_time" bool_ops);--> statement-breakpoint
|
|
CREATE INDEX "contest_created_by_id_a763ca7e" ON "contest" USING btree ("created_by_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "contest_announcement_contest_id_a8cb419f" ON "contest_announcement" USING btree ("contest_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "contest_announcement_created_by_id_469a14ce" ON "contest_announcement" USING btree ("created_by_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "flowchart_problem_time_idx" ON "flowchart_submission" USING btree ("problem_id" int4_ops,"create_time" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "flowchart_status_idx" ON "flowchart_submission" USING btree ("status" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "flowchart_submission_id_0dbfc4f9_like" ON "flowchart_submission" USING btree ("id" text_pattern_ops);--> statement-breakpoint
|
|
CREATE INDEX "flowchart_submission_problem_id_8551edbf" ON "flowchart_submission" USING btree ("problem_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "flowchart_submission_user_id_225c83e8" ON "flowchart_submission" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "flowchart_user_time_idx" ON "flowchart_submission" USING btree ("user_id" int4_ops,"create_time" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "message_recipient_id_2aa5dd76" ON "message" USING btree ("recipient_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "message_recipient_time_idx" ON "message" USING btree ("recipient_id" timestamptz_ops,"create_time" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "message_sender_id_a2a2e825" ON "message" USING btree ("sender_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "message_submission_id_2fdf8a47" ON "message" USING btree ("submission_id" text_ops);--> statement-breakpoint
|
|
CREATE INDEX "message_submission_id_2fdf8a47_like" ON "message" USING btree ("submission_id" text_pattern_ops);--> statement-breakpoint
|
|
CREATE INDEX "exercise_tutorial_id_6fd04055" ON "exercise" USING btree ("tutorial_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_created_by_id_01b5197f" ON "problemset" USING btree ("created_by_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_problem_problem_id_fff2d686" ON "problemset_problem" USING btree ("problem_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_problem_problemset_id_350d17fb" ON "problemset_problem" USING btree ("problemset_id" int8_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_progress_problemset_id_20a9632e" ON "problemset_progress" USING btree ("problemset_id" int8_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_progress_user_id_c8041a80" ON "problemset_progress" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset__problem_1f39fa_idx" ON "problemset_submission" USING btree ("problemset_id" int4_ops,"user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset__problem_22f053_idx" ON "problemset_submission" USING btree ("problemset_id" int8_ops,"problem_id" int8_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset__user_id_2f1501_idx" ON "problemset_submission" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_submission_problem_id_5629b105" ON "problemset_submission" USING btree ("problem_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_submission_problemset_id_85290e17" ON "problemset_submission" USING btree ("problemset_id" int8_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_submission_submission_id_78e2b807" ON "problemset_submission" USING btree ("submission_id" text_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_submission_submission_id_78e2b807_like" ON "problemset_submission" USING btree ("submission_id" text_pattern_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_submission_user_id_915fc9c6" ON "problemset_submission" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "reaction_problem_id_a7f3b9f3" ON "reaction" USING btree ("problem_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "reaction_problem_type_idx" ON "reaction" USING btree ("problem_id" int4_ops,"type" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "reaction_user_id_cfa7f469" ON "reaction" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problem__id_919b1d80" ON "problem" USING btree ("_id" text_ops);--> statement-breakpoint
|
|
CREATE INDEX "problem_contest_id_328e013a" ON "problem" USING btree ("contest_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problem_contest_visible_idx" ON "problem" USING btree ("contest_id" bool_ops,"visible" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problem_created_by_id_cb362143" ON "problem" USING btree ("created_by_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problem_visible_idx" ON "problem" USING btree ("visible" bool_ops);--> statement-breakpoint
|
|
CREATE INDEX "problem_tags_problem_id_866ecb8d" ON "problem_tags" USING btree ("problem_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problem_tags_problemtag_id_72d20571" ON "problem_tags" USING btree ("problemtag_id" int4_ops);--> statement-breakpoint
|
|
CREATE UNIQUE INDEX "problem_tag_name_ci_unique" ON "problem_tag" USING btree (lower(name) text_ops);--> statement-breakpoint
|
|
CREATE INDEX "contest_create_time_idx" ON "submission" USING btree ("contest_id" timestamptz_ops,"create_time" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problem_user_idx" ON "submission" USING btree ("problem_id" int4_ops,"user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "submission_contest_id_775716d5" ON "submission" USING btree ("contest_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "submission_problem_id_76847b55" ON "submission" USING btree ("problem_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "submission_result_37e2f67a" ON "submission" USING btree ("result" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "submission_user_id_3779a8c1" ON "submission" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "user_create_time_idx" ON "submission" USING btree ("user_id" int4_ops,"create_time" timestamptz_ops);--> statement-breakpoint
|
|
CREATE INDEX "tutorial_created_by_id_07973cab" ON "tutorial" USING btree ("created_by_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "user_achievement_achievement_id_29db600d" ON "user_achievement" USING btree ("achievement_id" int8_ops);--> statement-breakpoint
|
|
CREATE INDEX "user_achievement_user_id_b8ec7d6a" ON "user_achievement" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "user_achv_notified_idx" ON "user_achievement" USING btree ("user_id" int4_ops,"notified" bool_ops);--> statement-breakpoint
|
|
CREATE INDEX "user_achv_time_idx" ON "user_achievement" USING btree ("user_id" int4_ops,"unlock_time" timestamptz_ops);--> statement-breakpoint
|
|
CREATE INDEX "user_badge_badge_id_92a983e9" ON "user_badge" USING btree ("badge_id" int8_ops);--> statement-breakpoint
|
|
CREATE INDEX "user_badge_user_id_a286d718" ON "user_badge" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "acm_contest_rank_contest_id_21030ccd" ON "acm_contest_rank" USING btree ("contest_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "acm_contest_rank_user_id_40391ab2" ON "acm_contest_rank" USING btree ("user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "acm_rank_contest_user_idx" ON "acm_contest_rank" USING btree ("contest_id" int4_ops,"user_id" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "acm_rank_order_idx" ON "acm_contest_rank" USING btree ("contest_id" int4_ops,"accepted_number" int4_ops,"total_time" int4_ops);--> statement-breakpoint
|
|
CREATE INDEX "problemset_badge_problemset_id_6cb6c74f" ON "problemset_badge" USING btree ("problemset_id" int8_ops);
|
|
*/ |