61 lines
1.8 KiB
JavaScript
61 lines
1.8 KiB
JavaScript
const bcrypt = require('bcryptjs');
|
||
const { query } = require('./backend/src/config/database');
|
||
|
||
// 数据库配置
|
||
const dbConfig = {
|
||
host: '129.211.213.226',
|
||
port: 9527,
|
||
user: 'root',
|
||
password: 'aiotAiot123!',
|
||
database: 'jiebandata'
|
||
};
|
||
|
||
async function addTestAdmin() {
|
||
try {
|
||
// 加密密码
|
||
const saltRounds = 10;
|
||
const plainPassword = 'admin123';
|
||
const hashedPassword = await bcrypt.hash(plainPassword, saltRounds);
|
||
|
||
console.log('加密后的密码:', hashedPassword);
|
||
|
||
// 插入测试管理员账户
|
||
const insertSQL = `
|
||
INSERT INTO admins (username, password, email, nickname, role)
|
||
VALUES (?, ?, ?, ?, ?)
|
||
ON DUPLICATE KEY UPDATE
|
||
password = VALUES(password),
|
||
email = VALUES(email),
|
||
nickname = VALUES(nickname),
|
||
role = VALUES(role)
|
||
`;
|
||
|
||
const params = [
|
||
'testadmin',
|
||
hashedPassword,
|
||
'testadmin@example.com',
|
||
'测试管理员',
|
||
'admin'
|
||
];
|
||
|
||
// 注意:这里我们需要直接使用mysql2连接数据库,因为backend/src/config/database可能依赖环境变量
|
||
const mysql = require('mysql2/promise');
|
||
const connection = await mysql.createConnection(dbConfig);
|
||
|
||
const [result] = await connection.execute(insertSQL, params);
|
||
console.log('✅ 测试管理员账户创建/更新成功');
|
||
console.log('受影响的行数:', result.affectedRows);
|
||
|
||
// 验证插入的数据
|
||
const [rows] = await connection.execute('SELECT * FROM admins WHERE username = ?', ['testadmin']);
|
||
console.log('\n插入的管理员信息:');
|
||
console.log(rows[0]);
|
||
|
||
await connection.end();
|
||
} catch (error) {
|
||
console.error('❌ 创建测试管理员账户失败:', error.message);
|
||
console.error(error.stack);
|
||
}
|
||
}
|
||
|
||
addTestAdmin(); |