纳入范围: - backend/ Spring Boot 多模块后端(iot-common/device/rule/data/alarm/auth) - frontend/admin/ Vue3 + Element Plus 管理后台 - Android/ 涂鸦原生 APP (com.xhai.iot) - backend/sql/ Flyway 风格迁移脚本(V2~V21) - docs/ 对接文档与设计文档 排除范围: - 构建产物: node_modules/ target/ build/ dist/ .gradle/ - 签名密钥: *.jks *.keystore (严禁入库) - 本机配置: Android/local.properties - 运行日志: logs/ *.log - AI 协作本地数据 .codebuddy/ 与第三方 demo tuya-demo/ .gitattributes 统一以 LF 存储, Windows 批处理保留 CRLF
43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
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));
|