chore(阶段1): 题目样本导入脚本(不含用户数据)

This commit is contained in:
2026-08-06 21:14:23 -06:00
parent 0f0a5cb65a
commit 0a8fcef3f2
2 changed files with 22 additions and 0 deletions

3
.gitignore vendored
View File

@@ -16,3 +16,6 @@ build/
# 否则 spike 换台机器就跑不起来(曾漏掉三个 tree-sitter 依赖ast-spike.ts 直接报错)
docs/spikes/node_modules/
docs/spikes/endpoints-*.json
# 生产题目样本只用于本地验收,不进入 git
*.csv

View File

@@ -0,0 +1,19 @@
-- 阶段 1 本地题目样本导入脚本。
--
-- /tmp/problems.csv 从生产库 problem 表导出,只取 contest_id IS NULL、按 id
-- 排序的前 20 道题,避免为本地列表验收额外复制比赛数据。
-- /tmp/tags.csv 从生产库 problem_tag 表导出。两份 CSV 均不包含用户表数据,
-- 仅保留在本机并由 .gitignore 排除devadmin 只是满足外键的本地占位用户。
\set ON_ERROR_STOP on
BEGIN;
INSERT INTO "user" (id, password, username, admin_type, problem_permission, open_api, is_disabled, session_keys, raw_password)
VALUES (1, 'unusable', 'devadmin', 'Super Admin', 'All', false, false, '[]'::jsonb, 'devonly')
ON CONFLICT (id) DO NOTHING;
\copy problem_tag FROM '/tmp/tags.csv' WITH CSV HEADER
\copy problem FROM '/tmp/problems.csv' WITH CSV HEADER
COMMIT;