const mysql = require('mysql2/promise'); // 数据库连接配置 const dbConfig = { host: 'gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com', port: 24936, user: 'root', password: '!Rjb12191', database: 'pronode_db', charset: 'utf8mb4' }; async function testUserSystem() { let connection; try { console.log('🔌 正在连接腾讯云数据库...'); // 创建连接 connection = await mysql.createConnection(dbConfig); console.log('✅ 数据库连接成功!'); // 使用数据库 await connection.query('USE pronode_db'); console.log('✅ 已切换到 pronode_db 数据库'); // 测试用户表结构 console.log('🔍 检查用户表结构...'); const [columns] = await connection.query('DESCRIBE promptforge_users'); console.log('📋 用户表字段:'); columns.forEach(col => { console.log(` - ${col.Field}: ${col.Type} ${col.Null === 'YES' ? '(可空)' : '(必填)'}`); }); // 检查是否有用户数据 console.log('🔍 检查用户数据...'); const [users] = await connection.query('SELECT id, email, name, avatar, createdAt FROM promptforge_users LIMIT 5'); if (users.length > 0) { console.log(`✅ 找到 ${users.length} 个用户:`); users.forEach((user, index) => { console.log(` ${index + 1}. ${user.name} (${user.email}) - 注册时间: ${user.createdAt}`); }); } else { console.log('⚠️ 没有找到用户数据'); } // 测试创建新用户 console.log('🧪 测试创建新用户...'); const testUser = { id: `test_${Date.now()}`, email: `test${Date.now()}@example.com`, name: '测试用户', avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=test', password: '$2b$12$test.hash.for.testing', createdAt: new Date(), updatedAt: new Date() }; try { await connection.execute( 'INSERT INTO promptforge_users (id, email, name, avatar, password, createdAt, updatedAt) VALUES (?, ?, ?, ?, ?, ?, ?)', [testUser.id, testUser.email, testUser.name, testUser.avatar, testUser.password, testUser.createdAt, testUser.updatedAt] ); console.log('✅ 测试用户创建成功'); // 删除测试用户 await connection.execute('DELETE FROM promptforge_users WHERE id = ?', [testUser.id]); console.log('✅ 测试用户清理完成'); } catch (error) { console.log('❌ 测试用户创建失败:', error.message); } console.log('🎉 用户系统测试完成!'); return true; } catch (error) { console.error('❌ 用户系统测试失败:', error.message); return false; } finally { if (connection) { await connection.end(); console.log('🔌 数据库连接已关闭'); } } } // 运行测试 testUserSystem().then(success => { if (success) { console.log('🎉 用户系统测试通过!'); } else { console.log('💥 用户系统测试失败!'); } process.exit(success ? 0 : 1); });