- server: Go 单二进制骨架,embed 内嵌前端,配置/迁移/HTTP 路由 - store: system.db + event.db 两套迁移,业务表 + 种子数据 - domain: 积分引擎(并列三口径/计分通道/流水/排名/破纪录)+ 68 个测试 - web: Vite + Vue 三入口骨架 + shared 层(类型/API/WebSocket 客户端) - console: Electron 宿主骨架(选屏/防熄屏/进程守护/托盘)
25 lines
855 B
SQL
25 lines
855 B
SQL
CREATE TABLE IF NOT EXISTS teams (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
code TEXT NOT NULL UNIQUE,
|
|
name TEXT NOT NULL,
|
|
short_name TEXT,
|
|
logo_path TEXT,
|
|
color TEXT,
|
|
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
active INTEGER NOT NULL DEFAULT 1 CHECK (active IN (0, 1))
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_teams_sort_order ON teams(sort_order, code);
|
|
|
|
CREATE TABLE IF NOT EXISTS athletes (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
gender TEXT CHECK (gender IN ('男', '女')),
|
|
team_id INTEGER REFERENCES teams(id),
|
|
employee_no TEXT,
|
|
active INTEGER NOT NULL DEFAULT 1 CHECK (active IN (0, 1))
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_athletes_team_id ON athletes(team_id);
|
|
CREATE INDEX IF NOT EXISTS idx_athletes_name ON athletes(name);
|