const mysql = require('mysql2/promise'); async function insertTeamMembers() { const connection = await mysql.createConnection({ host: 'mysql.theaken.com', port: 33306, user: 'AI_Platform', password: 'Aa123456', database: 'db_AI_Platform', charset: 'utf8mb4', timezone: '+08:00' }); try { console.log('πŸ” 開始插ε…₯εœ˜ιšŠζˆε“‘ζΈ¬θ©¦ζ•Έζ“š...'); // ζŸ₯ηœ‹ηΎζœ‰εœ˜ιšŠ const [teams] = await connection.execute('SELECT id, name, leader_id FROM teams WHERE is_active = 1 LIMIT 5'); console.log('ηΎζœ‰εœ˜ιšŠ:', teams); // ζŸ₯ηœ‹ηΎζœ‰η”¨ζˆΆ const [users] = await connection.execute('SELECT id, name FROM users WHERE status = "active" LIMIT 5'); console.log('ηΎζœ‰η”¨ζˆΆ:', users); if (teams.length > 0 && users.length > 0) { // η‚Ίζ―ε€‹εœ˜ιšŠζ’ε…₯ζˆε“‘ for (let i = 0; i < Math.min(teams.length, 3); i++) { const team = teams[i]; const teamId = team.id; // 插ε…₯ιšŠι•·οΌˆδ½Ώη”¨εœ˜ιšŠηš„ leader_idοΌ‰ await connection.execute( 'INSERT IGNORE INTO team_members (id, team_id, user_id, role, joined_at) VALUES (?, ?, ?, ?, NOW())', [`tm_${Date.now()}_${i}_1`, teamId, team.leader_id, 'ιšŠι•·'] ); // 插ε…₯ζˆε“‘οΌˆδ½Ώη”¨ε…Άδ»–η”¨ζˆΆοΌ‰ for (let j = 1; j < Math.min(users.length, 3); j++) { if (users[j].id !== team.leader_id) { await connection.execute( 'INSERT IGNORE INTO team_members (id, team_id, user_id, role, joined_at) VALUES (?, ?, ?, ?, NOW())', [`tm_${Date.now()}_${i}_${j+1}`, teamId, users[j].id, 'ζˆε“‘'] ); } } console.log(`βœ… 團隊 ${team.name} ζˆε“‘ζ’ε…₯成功`); } } // ι©—θ­‰η΅ζžœ const [members] = await connection.execute(` SELECT tm.*, t.name as team_name, u.name as user_name FROM team_members tm LEFT JOIN teams t ON tm.team_id = t.id LEFT JOIN users u ON tm.user_id = u.id ORDER BY tm.team_id `); console.log('πŸ“Š εœ˜ιšŠζˆε“‘η΅±θ¨ˆ:', members); // ζͺ’ζŸ₯εœ˜ιšŠζˆε“‘ζ•Έι‡ const [counts] = await connection.execute(` SELECT t.id, t.name as team_name, COUNT(tm.id) as member_count FROM teams t LEFT JOIN team_members tm ON t.id = tm.team_id WHERE t.is_active = 1 GROUP BY t.id, t.name ORDER BY t.name `); console.log('πŸ“ˆ εœ˜ιšŠζˆε“‘ζ•Έι‡:', counts); } catch (error) { console.error('❌ 錯θͺ€:', error); } finally { await connection.end(); } } insertTeamMembers();