const mysql = require('mysql2/promise'); (async () => { const conn = await mysql.createConnection({ host: '127.0.0.1', port: 33060, user: 'root', password: 'root', database: 'iot_platform' }); // 检查 role 列是否存在 const [rows] = await conn.query( `SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='sys_user' AND COLUMN_NAME='role'` ); if (rows.length === 0) { console.log('正在添加 role 列...'); await conn.query( `ALTER TABLE sys_user ADD COLUMN role VARCHAR(20) DEFAULT 'user' COMMENT '角色(admin-管理员, user-普通用户)' AFTER tenant_id` ); console.log('role 列已添加'); await conn.query( `UPDATE sys_user SET role = 'admin' WHERE username = 'admin'` ); console.log('admin 角色已设置为 admin'); } else { console.log('role 列已存在,跳过'); } // 验证 const [[r2]] = await conn.query( `SELECT id, username, role FROM sys_user WHERE username='admin'` ); console.log('admin 账号信息:', JSON.stringify(r2)); await conn.end(); console.log('数据库修复完成!'); })().catch(e => console.error('错误:', e.message));