import db from '../db' // 初始化种子数据 export default defineEventHandler(() => { try { // 检查是否已有数据 const checkTeams = db.prepare('SELECT COUNT(*) as count FROM teams').get() if (checkTeams.count > 0) { return { success: true, message: '数据已存在,跳过初始化' } } // 插入示例队伍 const teams = [ { name: '高一1班', group: '文化班甲组' }, { name: '高一2班', group: '文化班甲组' }, { name: '高二1班', group: '文化班乙组' }, { name: '高二2班', group: '文化班乙组' }, { name: '体育1班', group: '体育班组' }, { name: '体育2班', group: '体育班组' }, { name: '航空1班', group: '航空班组' }, { name: '航空2班', group: '航空班组' }, { name: '教师队', group: '教师组' } ] const insertTeam = db.prepare('INSERT INTO teams (name, team_group) VALUES (?, ?)') const insertScore = db.prepare('INSERT INTO team_scores (team_id, total_score, gold_count, silver_count, bronze_count) VALUES (?, 0, 0, 0, 0)') teams.forEach(team => { const result = insertTeam.run(team.name, team.group) insertScore.run(result.lastInsertRowid) }) // 插入示例比赛项目 const events = [ // 田赛(个人赛) { name: '跳高', category: '田赛', event_group: '文化班甲组', unit: '米' }, { name: '跳远', category: '田赛', event_group: '文化班甲组', unit: '米' }, { name: '掷铅球', category: '田赛', event_group: '文化班乙组', unit: '米' }, // 径赛(个人赛) { name: '100m', category: '径赛', event_group: '体育班组', unit: '秒' }, { name: '200m', category: '径赛', event_group: '体育班组', unit: '秒' }, { name: '400m', category: '径赛', event_group: '体育班组', unit: '秒' }, // 径赛(接力赛/团体赛) { name: '4×100m', category: '团体赛', event_group: '航空班组', unit: '秒' }, { name: '4×400m', category: '团体赛', event_group: '航空班组', unit: '秒' }, { name: '20×50m', category: '团体赛', event_group: '航空班组', unit: '秒' }, // 团体赛 { name: '旱地龙舟', category: '团体赛', event_group: '教师组', unit: '秒' }, { name: '跳长绳', category: '团体赛', event_group: '文化班甲组', unit: '次' }, { name: '折返跑', category: '团体赛', event_group: '文化班乙组', unit: '秒' } ] const insertEvent = db.prepare('INSERT INTO events (name, category, event_group, unit) VALUES (?, ?, ?, ?)') events.forEach(event => { insertEvent.run(event.name, event.category, event.group, event.unit) }) return { success: true, message: '初始化数据成功', data: { teams: teams.length, events: events.length } } } catch (error) { console.error('Seed error:', error) throw createError({ statusCode: 500, message: '初始化数据失败: ' + error.message }) } })