require('dotenv').config(); const mysql = require('mysql2/promise'); // 查询用户信息 async function listUsers() { let connection = null; try { console.log('连接数据库...'); connection = await mysql.createConnection({ host: process.env.DB_HOST || 'localhost', user: process.env.DB_USER || 'root', password: process.env.DB_PASSWORD === undefined ? null : process.env.DB_PASSWORD, database: process.env.DB_DATABASE || 'wechat_app', port: process.env.DB_PORT || 3306, timezone: '+08:00' // 设置时区为UTC+8 }); console.log('数据库连接成功\n'); // 查询users表结构 console.log('=== users表结构 ==='); const [columns] = await connection.execute( 'SHOW COLUMNS FROM users' ); console.log('字段列表:', columns.map(col => col.Field).join(', ')); console.log(); // 查询前5个用户数据 console.log('=== 用户数据 (前5个) ==='); const [users] = await connection.execute( 'SELECT * FROM users LIMIT 5' ); console.log(`数据库中有 ${users.length} 个用户记录`); if (users.length > 0) { users.forEach((user, index) => { console.log(`${index + 1}. 用户数据:`, user); }); // 查找可能的openid字段 const firstUser = users[0]; const possibleOpenIdFields = Object.keys(firstUser).filter(key => key.toLowerCase().includes('openid') || key.toLowerCase().includes('open_id') ); if (possibleOpenIdFields.length > 0) { console.log('\n=== 可能的openid字段 ==='); console.log('找到以下可能的openid字段:', possibleOpenIdFields.join(', ')); console.log('请使用其中一个有效的字段更新测试脚本'); } else { console.log('\n未找到明显的openid字段,请检查users表结构后手动更新测试脚本'); } } else { console.log('\n数据库中没有用户记录'); } } catch (error) { console.error('查询过程中发生错误:', error); } finally { if (connection) { await connection.end(); console.log('\n数据库连接已关闭'); } } } // 运行查询 listUsers();