Files
jiebanke/db_update.js
ylweng 8e5295b572 refactor(backend): 重构动物相关 API 接口
- 更新了动物数据结构和相关类型定义
- 优化了动物列表、详情、创建、更新和删除接口
- 新增了更新动物状态接口
- 移除了与认领记录相关的接口
-调整了 API 响应结构
2025-08-31 00:45:46 +08:00

85 lines
2.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const mysql = require('mysql2');
// 数据库配置
const dbConfig = {
host: '129.211.213.226',
port: 9527,
user: 'root',
password: 'aiotAiot123!',
database: 'jiebandata'
};
// 创建连接
const connection = mysql.createConnection(dbConfig);
// 连接数据库
connection.connect((err) => {
if (err) {
console.error('数据库连接失败: ' + err.stack);
return;
}
console.log('数据库连接成功连接ID: ' + connection.threadId);
// 创建管理员表
const createAdminTableSQL = `
CREATE TABLE IF NOT EXISTS admins (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) UNIQUE,
nickname VARCHAR(100),
avatar VARCHAR(255),
role ENUM('super_admin', 'admin', 'operator') DEFAULT 'admin',
status TINYINT DEFAULT 1,
last_login TIMESTAMP NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_username (username),
INDEX idx_email (email),
INDEX idx_role (role)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
`;
connection.query(createAdminTableSQL, (error, results) => {
if (error) {
console.error('创建管理员表失败: ' + error.stack);
connection.end();
return;
}
console.log('✅ 管理员表创建成功');
// 检查是否已存在测试数据
connection.query('SELECT COUNT(*) as count FROM admins', (error, results) => {
if (error) {
console.error('查询管理员表数据量失败: ' + error.stack);
connection.end();
return;
}
if (results[0].count > 0) {
console.log('✅ 管理员表中已有数据,跳过插入测试数据');
connection.end();
return;
}
// 插入测试数据
const insertTestDataSQL = `
INSERT INTO admins (username, password, email, nickname, role) VALUES
('admin', '$2b$10$rVuz/q97ocR1Zb07DzW5F.9Qx6B6HnV7JFzQb5nR1W3v7Z2mH4n6O', 'admin@example.com', '超级管理员', 'super_admin'),
('operator', '$2b$10$rVuz/q97ocR1Zb07DzW5F.9Qx6B6HnV7JFzQb5nR1W3v7Z2mH4n6O', 'operator@example.com', '操作员', 'operator');
`;
connection.query(insertTestDataSQL, (error, results) => {
if (error) {
console.error('插入测试数据失败: ' + error.stack);
connection.end();
return;
}
console.log('✅ 测试数据插入成功,插入 ' + results.affectedRows + ' 条记录');
connection.end();
});
});
});
});