Files
Scoreboard/server/migrations/event/0011_seed.sql
T
AskaEth 7d5d94f815 feat: M0-M2 骨架落地(服务端/前端/宿主/数据库/积分引擎)
- server: Go 单二进制骨架,embed 内嵌前端,配置/迁移/HTTP 路由
- store: system.db + event.db 两套迁移,业务表 + 种子数据
- domain: 积分引擎(并列三口径/计分通道/流水/排名/破纪录)+ 68 个测试
- web: Vite + Vue 三入口骨架 + shared 层(类型/API/WebSocket 客户端)
- console: Electron 宿主骨架(选屏/防熄屏/进程守护/托盘)
2026-09-09 18:36:40 +08:00

46 lines
1.8 KiB
SQL

-- 默认积分模板:个人 10/8/6/3/2/1,团体 15/10/8/4/2/1(见 02-积分与排名规则 第 2.1 节)。
INSERT OR IGNORE INTO scoring_profiles (code, name, tie_mode, record_bonus_mode, award_ranks, last_place_zero)
VALUES ('individual_top6', '个人项目前六名', 'skip', 'max', 6, 0),
('team_top6', '团体项目前六名', 'skip', 'max', 6, 0);
INSERT OR IGNORE INTO scoring_profile_rules (profile_id, rank, points)
SELECT p.id, r.rank, r.points
FROM scoring_profiles p
JOIN (SELECT 1 AS rank, 10.0 AS points UNION ALL
SELECT 2, 8.0 UNION ALL
SELECT 3, 6.0 UNION ALL
SELECT 4, 3.0 UNION ALL
SELECT 5, 2.0 UNION ALL
SELECT 6, 1.0) r
WHERE p.code = 'individual_top6';
INSERT OR IGNORE INTO scoring_profile_rules (profile_id, rank, points)
SELECT p.id, r.rank, r.points
FROM scoring_profiles p
JOIN (SELECT 1 AS rank, 15.0 AS points UNION ALL
SELECT 2, 10.0 UNION ALL
SELECT 3, 8.0 UNION ALL
SELECT 4, 4.0 UNION ALL
SELECT 5, 2.0 UNION ALL
SELECT 6, 1.0) r
WHERE p.code = 'team_top6';
-- 赛事级默认配置;键名沿用 04-数据模型 的 event.name / display.rotate_seconds 风格。
INSERT OR IGNORE INTO settings (key, value) VALUES
('event.name', '未命名赛事'),
('event.subtitle', ''),
('event.organizer', ''),
('event.logo_path', ''),
('display.theme_color', '#1E88E5'),
('display.rotate_seconds', '15'),
('standings.mode', 'points'),
('standings.individual_to_team_weight', '1'),
('standings.show_individual_medals', 'true'),
('standings.medal_counts_team_events', 'true'),
('scoring.default_profile', 'individual_top6'),
('results.review_required', 'false'),
('record_bonus.enabled', 'false'),
('record_bonus.mode', 'max'),
('manual_adjustment.enabled', 'false'),
('manual_adjustment.reason_required', 'true');