{ "id": "c1e443a0-71ae-40ba-8484-335584321ac9", "prevId": "e3f9cf77-7344-4bdd-9b53-26f462a52465", "version": "7", "dialect": "postgresql", "tables": { "public.achievement": { "name": "achievement", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "achievement_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": true }, "rarity": { "name": "rarity", "type": "text", "primaryKey": false, "notNull": true }, "hidden": { "name": "hidden", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "metric": { "name": "metric", "type": "text", "primaryKey": false, "notNull": true }, "operator": { "name": "operator", "type": "text", "primaryKey": false, "notNull": true }, "threshold": { "name": "threshold", "type": "integer", "primaryKey": false, "notNull": true }, "visible": { "name": "visible", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "unlock_count": { "name": "unlock_count", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "order": { "name": "order", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.acm_contest_rank": { "name": "acm_contest_rank", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "submission_number": { "name": "submission_number", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "accepted_number": { "name": "accepted_number", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "total_time": { "name": "total_time", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "submission_info": { "name": "submission_info", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "contest_id": { "name": "contest_id", "type": "integer", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": { "acm_rank_contest_user_idx": { "name": "acm_rank_contest_user_idx", "columns": [ { "expression": "contest_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "acm_rank_order_idx": { "name": "acm_rank_order_idx", "columns": [ { "expression": "contest_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "accepted_number", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "total_time", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "acm_contest_rank_contest_id_21030ccd_fk_contest_id": { "name": "acm_contest_rank_contest_id_21030ccd_fk_contest_id", "tableFrom": "acm_contest_rank", "tableTo": "contest", "columnsFrom": [ "contest_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "acm_contest_rank_user_id_40391ab2_fk_user_id": { "name": "acm_contest_rank_user_id_40391ab2_fk_user_id", "tableFrom": "acm_contest_rank", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_acm_rank_user_contest": { "name": "unique_acm_rank_user_contest", "nullsNotDistinct": false, "columns": [ "contest_id", "user_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.ai_analysis": { "name": "ai_analysis", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "ai_analysis_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "provider": { "name": "provider", "type": "text", "primaryKey": false, "notNull": true }, "data": { "name": "data", "type": "jsonb", "primaryKey": false, "notNull": true }, "system_prompt": { "name": "system_prompt", "type": "text", "primaryKey": false, "notNull": true }, "user_prompt": { "name": "user_prompt", "type": "text", "primaryKey": false, "notNull": true }, "analysis": { "name": "analysis", "type": "text", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "model": { "name": "model", "type": "text", "primaryKey": false, "notNull": true }, "is_pinned": { "name": "is_pinned", "type": "boolean", "primaryKey": false, "notNull": true } }, "indexes": { "ai_analysis_user_id_3aa23011": { "name": "ai_analysis_user_id_3aa23011", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "ai_analysis_user_id_3aa23011_fk_user_id": { "name": "ai_analysis_user_id_3aa23011_fk_user_id", "tableFrom": "ai_analysis", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.ai_hint": { "name": "ai_hint", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "ai_hint_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "submission_id": { "name": "submission_id", "type": "text", "primaryKey": false, "notNull": true }, "model": { "name": "model", "type": "text", "primaryKey": false, "notNull": true }, "prompt_version": { "name": "prompt_version", "type": "integer", "primaryKey": false, "notNull": true }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": true }, "error": { "name": "error", "type": "text", "primaryKey": false, "notNull": false }, "duration_ms": { "name": "duration_ms", "type": "integer", "primaryKey": false, "notNull": true }, "diagnosis": { "name": "diagnosis", "type": "jsonb", "primaryKey": false, "notNull": false }, "diagnosis_error": { "name": "diagnosis_error", "type": "text", "primaryKey": false, "notNull": false }, "helpful": { "name": "helpful", "type": "boolean", "primaryKey": false, "notNull": false }, "feedback_time": { "name": "feedback_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true } }, "indexes": { "ai_hint_submission_id_idx": { "name": "ai_hint_submission_id_idx", "columns": [ { "expression": "submission_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "ai_hint_submission_id_fk_submission_id": { "name": "ai_hint_submission_id_fk_submission_id", "tableFrom": "ai_hint", "tableTo": "submission", "columnsFrom": [ "submission_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.announcement": { "name": "announcement", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "last_update_time": { "name": "last_update_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "visible": { "name": "visible", "type": "boolean", "primaryKey": false, "notNull": true }, "created_by_id": { "name": "created_by_id", "type": "integer", "primaryKey": false, "notNull": true }, "tag": { "name": "tag", "type": "text", "primaryKey": false, "notNull": true }, "top": { "name": "top", "type": "boolean", "primaryKey": false, "notNull": true } }, "indexes": { "announcement_created_by_id_359ccf50": { "name": "announcement_created_by_id_359ccf50", "columns": [ { "expression": "created_by_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "announcement_list_idx": { "name": "announcement_list_idx", "columns": [ { "expression": "visible", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "top", "isExpression": false, "asc": false, "nulls": "first" }, { "expression": "create_time", "isExpression": false, "asc": false, "nulls": "first" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "announcement_created_by_id_359ccf50_fk_user_id": { "name": "announcement_created_by_id_359ccf50_fk_user_id", "tableFrom": "announcement", "tableTo": "user", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.contest": { "name": "contest", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true }, "password": { "name": "password", "type": "text", "primaryKey": false, "notNull": false }, "start_time": { "name": "start_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "end_time": { "name": "end_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "last_update_time": { "name": "last_update_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "visible": { "name": "visible", "type": "boolean", "primaryKey": false, "notNull": true }, "created_by_id": { "name": "created_by_id", "type": "integer", "primaryKey": false, "notNull": true }, "tag": { "name": "tag", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "contest_created_by_id_a763ca7e": { "name": "contest_created_by_id_a763ca7e", "columns": [ { "expression": "created_by_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "contest_created_by_id_a763ca7e_fk_user_id": { "name": "contest_created_by_id_a763ca7e_fk_user_id", "tableFrom": "contest", "tableTo": "user", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.exercise": { "name": "exercise", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "exercise_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "type": { "name": "type", "type": "varchar(16)", "primaryKey": false, "notNull": true }, "data": { "name": "data", "type": "jsonb", "primaryKey": false, "notNull": true }, "order": { "name": "order", "type": "integer", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "tutorial_id": { "name": "tutorial_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": { "exercise_tutorial_id_6fd04055": { "name": "exercise_tutorial_id_6fd04055", "columns": [ { "expression": "tutorial_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "exercise_tutorial_id_6fd04055_fk_tutorial_id": { "name": "exercise_tutorial_id_6fd04055_fk_tutorial_id", "tableFrom": "exercise", "tableTo": "tutorial", "columnsFrom": [ "tutorial_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.exercise_attempt": { "name": "exercise_attempt", "schema": "", "columns": { "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "exercise_id": { "name": "exercise_id", "type": "integer", "primaryKey": false, "notNull": true }, "attempts": { "name": "attempts", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "wrong_attempts": { "name": "wrong_attempts", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "solved": { "name": "solved", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "attempts_to_solve": { "name": "attempts_to_solve", "type": "integer", "primaryKey": false, "notNull": false }, "last_wrong_answer": { "name": "last_wrong_answer", "type": "text", "primaryKey": false, "notNull": false }, "first_attempt_at": { "name": "first_attempt_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "last_attempt_at": { "name": "last_attempt_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "solved_at": { "name": "solved_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false } }, "indexes": { "exercise_attempt_exercise_id_idx": { "name": "exercise_attempt_exercise_id_idx", "columns": [ { "expression": "exercise_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "exercise_attempt_user_id_fk_user_id": { "name": "exercise_attempt_user_id_fk_user_id", "tableFrom": "exercise_attempt", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "exercise_attempt_exercise_id_fk_exercise_id": { "name": "exercise_attempt_exercise_id_fk_exercise_id", "tableFrom": "exercise_attempt", "tableTo": "exercise", "columnsFrom": [ "exercise_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "exercise_attempt_pkey": { "name": "exercise_attempt_pkey", "columns": [ "user_id", "exercise_id" ] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.flowchart_submission": { "name": "flowchart_submission", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "mermaid_code": { "name": "mermaid_code", "type": "text", "primaryKey": false, "notNull": true }, "flowchart_data": { "name": "flowchart_data", "type": "jsonb", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "integer", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "ai_score": { "name": "ai_score", "type": "double precision", "primaryKey": false, "notNull": false }, "ai_grade": { "name": "ai_grade", "type": "varchar(10)", "primaryKey": false, "notNull": false }, "ai_feedback": { "name": "ai_feedback", "type": "text", "primaryKey": false, "notNull": false }, "ai_suggestions": { "name": "ai_suggestions", "type": "text", "primaryKey": false, "notNull": false }, "ai_criteria_details": { "name": "ai_criteria_details", "type": "jsonb", "primaryKey": false, "notNull": true }, "ai_provider": { "name": "ai_provider", "type": "varchar(50)", "primaryKey": false, "notNull": true }, "ai_model": { "name": "ai_model", "type": "varchar(50)", "primaryKey": false, "notNull": true }, "processing_time": { "name": "processing_time", "type": "double precision", "primaryKey": false, "notNull": false }, "evaluation_time": { "name": "evaluation_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "problem_id": { "name": "problem_id", "type": "integer", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": { "flowchart_problem_time_idx": { "name": "flowchart_problem_time_idx", "columns": [ { "expression": "problem_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "flowchart_status_idx": { "name": "flowchart_status_idx", "columns": [ { "expression": "status", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "flowchart_create_time_idx": { "name": "flowchart_create_time_idx", "columns": [ { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "flowchart_user_time_idx": { "name": "flowchart_user_time_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "flowchart_submission_problem_id_8551edbf_fk_problem_id": { "name": "flowchart_submission_problem_id_8551edbf_fk_problem_id", "tableFrom": "flowchart_submission", "tableTo": "problem", "columnsFrom": [ "problem_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "flowchart_submission_user_id_225c83e8_fk_user_id": { "name": "flowchart_submission_user_id_225c83e8_fk_user_id", "tableFrom": "flowchart_submission", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.judge_server": { "name": "judge_server", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "hostname": { "name": "hostname", "type": "text", "primaryKey": false, "notNull": true }, "ip": { "name": "ip", "type": "text", "primaryKey": false, "notNull": false }, "judger_version": { "name": "judger_version", "type": "text", "primaryKey": false, "notNull": true }, "cpu_core": { "name": "cpu_core", "type": "integer", "primaryKey": false, "notNull": true }, "memory_usage": { "name": "memory_usage", "type": "double precision", "primaryKey": false, "notNull": true }, "cpu_usage": { "name": "cpu_usage", "type": "double precision", "primaryKey": false, "notNull": true }, "last_heartbeat": { "name": "last_heartbeat", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "task_number": { "name": "task_number", "type": "integer", "primaryKey": false, "notNull": true }, "service_url": { "name": "service_url", "type": "text", "primaryKey": false, "notNull": false }, "is_disabled": { "name": "is_disabled", "type": "boolean", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.message": { "name": "message", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "message_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "message": { "name": "message", "type": "text", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "recipient_id": { "name": "recipient_id", "type": "integer", "primaryKey": false, "notNull": true }, "sender_id": { "name": "sender_id", "type": "integer", "primaryKey": false, "notNull": true }, "submission_id": { "name": "submission_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "message_recipient_time_idx": { "name": "message_recipient_time_idx", "columns": [ { "expression": "recipient_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "timestamptz_ops" }, { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "message_sender_id_a2a2e825": { "name": "message_sender_id_a2a2e825", "columns": [ { "expression": "sender_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "message_submission_id_2fdf8a47": { "name": "message_submission_id_2fdf8a47", "columns": [ { "expression": "submission_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "text_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "message_recipient_id_2aa5dd76_fk_user_id": { "name": "message_recipient_id_2aa5dd76_fk_user_id", "tableFrom": "message", "tableTo": "user", "columnsFrom": [ "recipient_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "message_sender_id_a2a2e825_fk_user_id": { "name": "message_sender_id_a2a2e825_fk_user_id", "tableFrom": "message", "tableTo": "user", "columnsFrom": [ "sender_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "message_submission_id_2fdf8a47_fk_submission_id": { "name": "message_submission_id_2fdf8a47_fk_submission_id", "tableFrom": "message", "tableTo": "submission", "columnsFrom": [ "submission_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.options_sysoptions": { "name": "options_sysoptions", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "key": { "name": "key", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "jsonb", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "options_sysoptions_key_key": { "name": "options_sysoptions_key_key", "nullsNotDistinct": false, "columns": [ "key" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.problem": { "name": "problem", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true }, "input_description": { "name": "input_description", "type": "text", "primaryKey": false, "notNull": true }, "output_description": { "name": "output_description", "type": "text", "primaryKey": false, "notNull": true }, "samples": { "name": "samples", "type": "jsonb", "primaryKey": false, "notNull": true }, "test_case_id": { "name": "test_case_id", "type": "text", "primaryKey": false, "notNull": true }, "test_case_score": { "name": "test_case_score", "type": "jsonb", "primaryKey": false, "notNull": true }, "hint": { "name": "hint", "type": "text", "primaryKey": false, "notNull": false }, "languages": { "name": "languages", "type": "jsonb", "primaryKey": false, "notNull": true }, "template": { "name": "template", "type": "jsonb", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "last_update_time": { "name": "last_update_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "time_limit": { "name": "time_limit", "type": "integer", "primaryKey": false, "notNull": true }, "memory_limit": { "name": "memory_limit", "type": "integer", "primaryKey": false, "notNull": true }, "visible": { "name": "visible", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "difficulty": { "name": "difficulty", "type": "text", "primaryKey": false, "notNull": true }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": false }, "submission_number": { "name": "submission_number", "type": "bigint", "primaryKey": false, "notNull": true, "default": 0 }, "accepted_number": { "name": "accepted_number", "type": "bigint", "primaryKey": false, "notNull": true, "default": 0 }, "created_by_id": { "name": "created_by_id", "type": "integer", "primaryKey": false, "notNull": true }, "_id": { "name": "_id", "type": "text", "primaryKey": false, "notNull": true }, "statistic_info": { "name": "statistic_info", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "contest_id": { "name": "contest_id", "type": "integer", "primaryKey": false, "notNull": false }, "is_public": { "name": "is_public", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "share_submission": { "name": "share_submission", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "prompt": { "name": "prompt", "type": "text", "primaryKey": false, "notNull": false }, "answers": { "name": "answers", "type": "jsonb", "primaryKey": false, "notNull": false }, "allow_flowchart": { "name": "allow_flowchart", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "flowchart_data": { "name": "flowchart_data", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "flowchart_hint": { "name": "flowchart_hint", "type": "text", "primaryKey": false, "notNull": false }, "mermaid_code": { "name": "mermaid_code", "type": "text", "primaryKey": false, "notNull": false }, "show_flowchart": { "name": "show_flowchart", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "ast_rules": { "name": "ast_rules", "type": "jsonb", "primaryKey": false, "notNull": false }, "sql_config": { "name": "sql_config", "type": "jsonb", "primaryKey": false, "notNull": false }, "sql_display": { "name": "sql_display", "type": "jsonb", "primaryKey": false, "notNull": false } }, "indexes": { "problem_contest_visible_idx": { "name": "problem_contest_visible_idx", "columns": [ { "expression": "contest_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "bool_ops" }, { "expression": "visible", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "problem_created_by_id_cb362143": { "name": "problem_created_by_id_cb362143", "columns": [ { "expression": "created_by_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "problem_visible_idx": { "name": "problem_visible_idx", "columns": [ { "expression": "visible", "isExpression": false, "asc": true, "nulls": "last", "opclass": "bool_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "problem_contest_id_328e013a_fk_contest_id": { "name": "problem_contest_id_328e013a_fk_contest_id", "tableFrom": "problem", "tableTo": "contest", "columnsFrom": [ "contest_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "problem_created_by_id_cb362143_fk_user_id": { "name": "problem_created_by_id_cb362143_fk_user_id", "tableFrom": "problem", "tableTo": "user", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_problem_id_contest": { "name": "unique_problem_id_contest", "nullsNotDistinct": false, "columns": [ "_id", "contest_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.problem_tag": { "name": "problem_tag", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "problem_tag_name_ci_unique": { "name": "problem_tag_name_ci_unique", "columns": [ { "expression": "lower(name)", "asc": true, "isExpression": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.problem_tags": { "name": "problem_tags", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "problem_id": { "name": "problem_id", "type": "integer", "primaryKey": false, "notNull": true }, "problemtag_id": { "name": "problemtag_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": { "problem_tags_problemtag_id_72d20571": { "name": "problem_tags_problemtag_id_72d20571", "columns": [ { "expression": "problemtag_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "problem_tags_problem_id_866ecb8d_fk_problem_id": { "name": "problem_tags_problem_id_866ecb8d_fk_problem_id", "tableFrom": "problem_tags", "tableTo": "problem", "columnsFrom": [ "problem_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "problem_tags_problemtag_id_72d20571_fk_problem_tag_id": { "name": "problem_tags_problemtag_id_72d20571_fk_problem_tag_id", "tableFrom": "problem_tags", "tableTo": "problem_tag", "columnsFrom": [ "problemtag_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "problem_tags_problem_id_problemtag_id_318459d1_uniq": { "name": "problem_tags_problem_id_problemtag_id_318459d1_uniq", "nullsNotDistinct": false, "columns": [ "problem_id", "problemtag_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.problemset": { "name": "problemset", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "problemset_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "last_update_time": { "name": "last_update_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "visible": { "name": "visible", "type": "boolean", "primaryKey": false, "notNull": true }, "difficulty": { "name": "difficulty", "type": "text", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true }, "created_by_id": { "name": "created_by_id", "type": "integer", "primaryKey": false, "notNull": true }, "end_time": { "name": "end_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": false } }, "indexes": { "problemset_created_by_id_01b5197f": { "name": "problemset_created_by_id_01b5197f", "columns": [ { "expression": "created_by_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "problemset_created_by_id_01b5197f_fk_user_id": { "name": "problemset_created_by_id_01b5197f_fk_user_id", "tableFrom": "problemset", "tableTo": "user", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.problemset_badge": { "name": "problemset_badge", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "problemset_badge_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": true }, "condition_type": { "name": "condition_type", "type": "text", "primaryKey": false, "notNull": true }, "condition_value": { "name": "condition_value", "type": "integer", "primaryKey": false, "notNull": true }, "problemset_id": { "name": "problemset_id", "type": "bigint", "primaryKey": false, "notNull": true } }, "indexes": { "problemset_badge_problemset_id_6cb6c74f": { "name": "problemset_badge_problemset_id_6cb6c74f", "columns": [ { "expression": "problemset_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int8_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "problemset_badge_problemset_id_6cb6c74f_fk_problemset_id": { "name": "problemset_badge_problemset_id_6cb6c74f_fk_problemset_id", "tableFrom": "problemset_badge", "tableTo": "problemset", "columnsFrom": [ "problemset_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.problemset_problem": { "name": "problemset_problem", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "problemset_problem_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "order": { "name": "order", "type": "integer", "primaryKey": false, "notNull": true }, "is_required": { "name": "is_required", "type": "boolean", "primaryKey": false, "notNull": true }, "score": { "name": "score", "type": "integer", "primaryKey": false, "notNull": true }, "hint": { "name": "hint", "type": "text", "primaryKey": false, "notNull": false }, "problem_id": { "name": "problem_id", "type": "integer", "primaryKey": false, "notNull": true }, "problemset_id": { "name": "problemset_id", "type": "bigint", "primaryKey": false, "notNull": true } }, "indexes": { "problemset_problem_problem_id_fff2d686": { "name": "problemset_problem_problem_id_fff2d686", "columns": [ { "expression": "problem_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "problemset_problem_problem_id_fff2d686_fk_problem_id": { "name": "problemset_problem_problem_id_fff2d686_fk_problem_id", "tableFrom": "problemset_problem", "tableTo": "problem", "columnsFrom": [ "problem_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "problemset_problem_problemset_id_350d17fb_fk_problemset_id": { "name": "problemset_problem_problemset_id_350d17fb_fk_problemset_id", "tableFrom": "problemset_problem", "tableTo": "problemset", "columnsFrom": [ "problemset_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_problemset_problem": { "name": "unique_problemset_problem", "nullsNotDistinct": false, "columns": [ "problem_id", "problemset_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.problemset_progress": { "name": "problemset_progress", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "problemset_progress_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "join_time": { "name": "join_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "complete_time": { "name": "complete_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "is_completed": { "name": "is_completed", "type": "boolean", "primaryKey": false, "notNull": true }, "progress_percentage": { "name": "progress_percentage", "type": "double precision", "primaryKey": false, "notNull": true }, "completed_problems_count": { "name": "completed_problems_count", "type": "integer", "primaryKey": false, "notNull": true }, "total_problems_count": { "name": "total_problems_count", "type": "integer", "primaryKey": false, "notNull": true }, "total_score": { "name": "total_score", "type": "integer", "primaryKey": false, "notNull": true }, "progress_detail": { "name": "progress_detail", "type": "jsonb", "primaryKey": false, "notNull": true }, "problemset_id": { "name": "problemset_id", "type": "bigint", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": { "problemset_progress_user_id_c8041a80": { "name": "problemset_progress_user_id_c8041a80", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "problemset_progress_problemset_id_20a9632e_fk_problemset_id": { "name": "problemset_progress_problemset_id_20a9632e_fk_problemset_id", "tableFrom": "problemset_progress", "tableTo": "problemset", "columnsFrom": [ "problemset_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "problemset_progress_user_id_c8041a80_fk_user_id": { "name": "problemset_progress_user_id_c8041a80_fk_user_id", "tableFrom": "problemset_progress", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_problemset_progress_user": { "name": "unique_problemset_progress_user", "nullsNotDistinct": false, "columns": [ "problemset_id", "user_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.problemset_submission": { "name": "problemset_submission", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "problemset_submission_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "problem_id": { "name": "problem_id", "type": "integer", "primaryKey": false, "notNull": true }, "problemset_id": { "name": "problemset_id", "type": "bigint", "primaryKey": false, "notNull": true }, "submission_id": { "name": "submission_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": { "problemset__problem_1f39fa_idx": { "name": "problemset__problem_1f39fa_idx", "columns": [ { "expression": "problemset_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "problemset__problem_22f053_idx": { "name": "problemset__problem_22f053_idx", "columns": [ { "expression": "problemset_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int8_ops" }, { "expression": "problem_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int8_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "problemset__user_id_2f1501_idx": { "name": "problemset__user_id_2f1501_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "problemset_submission_problem_id_5629b105": { "name": "problemset_submission_problem_id_5629b105", "columns": [ { "expression": "problem_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "problemset_submission_submission_id_78e2b807": { "name": "problemset_submission_submission_id_78e2b807", "columns": [ { "expression": "submission_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "text_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "problemset_submission_problem_id_5629b105_fk_problem_id": { "name": "problemset_submission_problem_id_5629b105_fk_problem_id", "tableFrom": "problemset_submission", "tableTo": "problem", "columnsFrom": [ "problem_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "problemset_submission_problemset_id_85290e17_fk_problemset_id": { "name": "problemset_submission_problemset_id_85290e17_fk_problemset_id", "tableFrom": "problemset_submission", "tableTo": "problemset", "columnsFrom": [ "problemset_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "problemset_submission_submission_id_78e2b807_fk_submission_id": { "name": "problemset_submission_submission_id_78e2b807_fk_submission_id", "tableFrom": "problemset_submission", "tableTo": "submission", "columnsFrom": [ "submission_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "problemset_submission_user_id_915fc9c6_fk_user_id": { "name": "problemset_submission_user_id_915fc9c6_fk_user_id", "tableFrom": "problemset_submission", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.reaction": { "name": "reaction", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "reaction_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "type": { "name": "type", "type": "varchar(20)", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "problem_id": { "name": "problem_id", "type": "integer", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": { "reaction_problem_type_idx": { "name": "reaction_problem_type_idx", "columns": [ { "expression": "problem_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "type", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "reaction_user_id_cfa7f469": { "name": "reaction_user_id_cfa7f469", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "reaction_problem_id_a7f3b9f3_fk_problem_id": { "name": "reaction_problem_id_a7f3b9f3_fk_problem_id", "tableFrom": "reaction", "tableTo": "problem", "columnsFrom": [ "problem_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "reaction_user_id_cfa7f469_fk_user_id": { "name": "reaction_user_id_cfa7f469_fk_user_id", "tableFrom": "reaction", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "reaction_problem_user_unique": { "name": "reaction_problem_user_unique", "nullsNotDistinct": false, "columns": [ "problem_id", "user_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.submission": { "name": "submission", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "contest_id": { "name": "contest_id", "type": "integer", "primaryKey": false, "notNull": false }, "problem_id": { "name": "problem_id", "type": "integer", "primaryKey": false, "notNull": true }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": true }, "result": { "name": "result", "type": "integer", "primaryKey": false, "notNull": true, "default": 6 }, "info": { "name": "info", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "language": { "name": "language", "type": "text", "primaryKey": false, "notNull": true }, "shared": { "name": "shared", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "statistic_info": { "name": "statistic_info", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": true }, "problemset_id": { "name": "problemset_id", "type": "bigint", "primaryKey": false, "notNull": false } }, "indexes": { "contest_create_time_idx": { "name": "contest_create_time_idx", "columns": [ { "expression": "contest_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "create_time", "isExpression": false, "asc": false, "nulls": "first" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "submission_public_create_time_id_idx": { "name": "submission_public_create_time_id_idx", "columns": [ { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"submission\".\"contest_id\" is null", "concurrently": false, "method": "btree", "with": {} }, "problem_user_idx": { "name": "problem_user_idx", "columns": [ { "expression": "problem_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "submission_result_37e2f67a": { "name": "submission_result_37e2f67a", "columns": [ { "expression": "result", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "user_create_time_idx": { "name": "user_create_time_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last", "opclass": "timestamptz_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "submission_language_time_idx": { "name": "submission_language_time_idx", "columns": [ { "expression": "language", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"submission\".\"contest_id\" is null", "concurrently": false, "method": "btree", "with": {} }, "submission_result_time_idx": { "name": "submission_result_time_idx", "columns": [ { "expression": "result", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"submission\".\"contest_id\" is null", "concurrently": false, "method": "btree", "with": {} }, "submission_public_problem_time_idx": { "name": "submission_public_problem_time_idx", "columns": [ { "expression": "problem_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"submission\".\"contest_id\" is null", "concurrently": false, "method": "btree", "with": {} }, "submission_public_username_trgm_idx": { "name": "submission_public_username_trgm_idx", "columns": [ { "expression": "username", "isExpression": false, "asc": true, "nulls": "last", "opclass": "gin_trgm_ops" } ], "isUnique": false, "where": "\"submission\".\"contest_id\" is null", "concurrently": false, "method": "gin", "with": {} }, "submission_public_metrics_idx": { "name": "submission_public_metrics_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "problem_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "result", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "create_time", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"submission\".\"contest_id\" is null", "concurrently": false, "method": "btree", "with": {} }, "submission_problemset_id_idx": { "name": "submission_problemset_id_idx", "columns": [ { "expression": "problemset_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "where": "\"submission\".\"problemset_id\" is not null", "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "submission_contest_id_775716d5_fk_contest_id": { "name": "submission_contest_id_775716d5_fk_contest_id", "tableFrom": "submission", "tableTo": "contest", "columnsFrom": [ "contest_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "submission_problem_id_76847b55_fk_problem_id": { "name": "submission_problem_id_76847b55_fk_problem_id", "tableFrom": "submission", "tableTo": "problem", "columnsFrom": [ "problem_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "submission_problemset_id_fk_problemset_id": { "name": "submission_problemset_id_fk_problemset_id", "tableFrom": "submission", "tableTo": "problemset", "columnsFrom": [ "problemset_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.submission_trace": { "name": "submission_trace", "schema": "", "columns": { "submission_id": { "name": "submission_id", "type": "text", "primaryKey": true, "notNull": true }, "active_ms": { "name": "active_ms", "type": "integer", "primaryKey": false, "notNull": true }, "since_open_ms": { "name": "since_open_ms", "type": "integer", "primaryKey": false, "notNull": true }, "typed_chars": { "name": "typed_chars", "type": "integer", "primaryKey": false, "notNull": true }, "pasted_chars": { "name": "pasted_chars", "type": "integer", "primaryKey": false, "notNull": true }, "paste_count": { "name": "paste_count", "type": "integer", "primaryKey": false, "notNull": true }, "max_paste": { "name": "max_paste", "type": "integer", "primaryKey": false, "notNull": true }, "deleted_chars": { "name": "deleted_chars", "type": "integer", "primaryKey": false, "notNull": true }, "blur_count": { "name": "blur_count", "type": "integer", "primaryKey": false, "notNull": true }, "initial_len": { "name": "initial_len", "type": "integer", "primaryKey": false, "notNull": true }, "collab": { "name": "collab", "type": "boolean", "primaryKey": false, "notNull": true }, "since_prev_ms": { "name": "since_prev_ms", "type": "bigint", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": { "submission_trace_submission_id_fk_submission_id": { "name": "submission_trace_submission_id_fk_submission_id", "tableFrom": "submission_trace", "tableTo": "submission", "columnsFrom": [ "submission_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.tutorial": { "name": "tutorial", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "tutorial_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "title": { "name": "title", "type": "varchar(128)", "primaryKey": false, "notNull": true }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "is_public": { "name": "is_public", "type": "boolean", "primaryKey": false, "notNull": true }, "order": { "name": "order", "type": "integer", "primaryKey": false, "notNull": true }, "created_by_id": { "name": "created_by_id", "type": "integer", "primaryKey": false, "notNull": true }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": false }, "type": { "name": "type", "type": "varchar(10)", "primaryKey": false, "notNull": true } }, "indexes": { "tutorial_created_by_id_07973cab": { "name": "tutorial_created_by_id_07973cab", "columns": [ { "expression": "created_by_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "tutorial_created_by_id_07973cab_fk_user_id": { "name": "tutorial_created_by_id_07973cab_fk_user_id", "tableFrom": "tutorial", "tableTo": "user", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.tutorial_progress": { "name": "tutorial_progress", "schema": "", "columns": { "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "tutorial_id": { "name": "tutorial_id", "type": "integer", "primaryKey": false, "notNull": true }, "view_count": { "name": "view_count", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "total_seconds": { "name": "total_seconds", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "first_viewed_at": { "name": "first_viewed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "last_viewed_at": { "name": "last_viewed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true } }, "indexes": { "tutorial_progress_tutorial_id_idx": { "name": "tutorial_progress_tutorial_id_idx", "columns": [ { "expression": "tutorial_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "tutorial_progress_user_id_fk_user_id": { "name": "tutorial_progress_user_id_fk_user_id", "tableFrom": "tutorial_progress", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "tutorial_progress_tutorial_id_fk_tutorial_id": { "name": "tutorial_progress_tutorial_id_fk_tutorial_id", "tableFrom": "tutorial_progress", "tableTo": "tutorial", "columnsFrom": [ "tutorial_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "tutorial_progress_pkey": { "name": "tutorial_progress_pkey", "columns": [ "user_id", "tutorial_id" ] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user": { "name": "user", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "password": { "name": "password", "type": "varchar(128)", "primaryKey": false, "notNull": true }, "last_login": { "name": "last_login", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": false }, "create_time": { "name": "create_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "admin_type": { "name": "admin_type", "type": "text", "primaryKey": false, "notNull": true }, "is_disabled": { "name": "is_disabled", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "problem_permission": { "name": "problem_permission", "type": "text", "primaryKey": false, "notNull": true }, "raw_password": { "name": "raw_password", "type": "varchar(20)", "primaryKey": false, "notNull": false }, "class_name": { "name": "class_name", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": { "user_active_idx": { "name": "user_active_idx", "columns": [ { "expression": "is_disabled", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "last_login", "isExpression": false, "asc": false, "nulls": "first" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "user_class_name_idx": { "name": "user_class_name_idx", "columns": [ { "expression": "class_name", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_username_key": { "name": "user_username_key", "nullsNotDistinct": false, "columns": [ "username" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_achievement": { "name": "user_achievement", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "user_achievement_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "unlock_time": { "name": "unlock_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "backfilled": { "name": "backfilled", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "notified": { "name": "notified", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "achievement_id": { "name": "achievement_id", "type": "bigint", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": { "user_achievement_achievement_id_29db600d": { "name": "user_achievement_achievement_id_29db600d", "columns": [ { "expression": "achievement_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int8_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "user_achv_notified_idx": { "name": "user_achv_notified_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "notified", "isExpression": false, "asc": true, "nulls": "last", "opclass": "bool_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "user_achv_time_idx": { "name": "user_achv_time_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int4_ops" }, { "expression": "unlock_time", "isExpression": false, "asc": false, "nulls": "first", "opclass": "timestamptz_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "user_achievement_achievement_id_29db600d_fk_achievement_id": { "name": "user_achievement_achievement_id_29db600d_fk_achievement_id", "tableFrom": "user_achievement", "tableTo": "achievement", "columnsFrom": [ "achievement_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "user_achievement_user_id_b8ec7d6a_fk_user_id": { "name": "user_achievement_user_id_b8ec7d6a_fk_user_id", "tableFrom": "user_achievement", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_user_achievement": { "name": "unique_user_achievement", "nullsNotDistinct": false, "columns": [ "achievement_id", "user_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_badge": { "name": "user_badge", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "user_badge_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "earned_time": { "name": "earned_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "badge_id": { "name": "badge_id", "type": "bigint", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": { "user_badge_badge_id_92a983e9": { "name": "user_badge_badge_id_92a983e9", "columns": [ { "expression": "badge_id", "isExpression": false, "asc": true, "nulls": "last", "opclass": "int8_ops" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "user_badge_badge_id_92a983e9_fk_problemset_badge_id": { "name": "user_badge_badge_id_92a983e9_fk_problemset_badge_id", "tableFrom": "user_badge", "tableTo": "problemset_badge", "columnsFrom": [ "badge_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "user_badge_user_id_a286d718_fk_user_id": { "name": "user_badge_user_id_a286d718_fk_user_id", "tableFrom": "user_badge", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_user_badge": { "name": "unique_user_badge", "nullsNotDistinct": false, "columns": [ "badge_id", "user_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_profile": { "name": "user_profile", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "acm_problems_status": { "name": "acm_problems_status", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "avatar": { "name": "avatar", "type": "text", "primaryKey": false, "notNull": true }, "mood": { "name": "mood", "type": "text", "primaryKey": false, "notNull": false }, "accepted_number": { "name": "accepted_number", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "submission_number": { "name": "submission_number", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "real_name": { "name": "real_name", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": { "user_profile_user_id_8fdce8e2_fk_user_id": { "name": "user_profile_user_id_8fdce8e2_fk_user_id", "tableFrom": "user_profile", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_profile_user_id_key": { "name": "user_profile_user_id_key", "nullsNotDistinct": false, "columns": [ "user_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_stat": { "name": "user_stat", "schema": "", "columns": { "id": { "name": "id", "type": "bigint", "primaryKey": true, "notNull": true, "identity": { "type": "byDefault", "name": "user_stat_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "9223372036854775807", "cache": "1", "cycle": false } }, "metrics": { "name": "metrics", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "update_time": { "name": "update_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "user_stat_user_id_73337fc0_fk_user_id": { "name": "user_stat_user_id_73337fc0_fk_user_id", "tableFrom": "user_stat", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_stat_user_id_key": { "name": "user_stat_user_id_key", "nullsNotDistinct": false, "columns": [ "user_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": {}, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }