/** * 示例数据种子脚本 * 为云睿资产管理系统添加初始示例数据 */ require('dotenv').config({ path: require('path').join(__dirname, '..', '.env') }); const { sequelize } = require('../db'); const Room = require('../models/Room'); const Rack = require('../models/Rack'); const Business = require('../models/Business'); const Role = require('../models/Role'); const { generateId } = require('../utils/idGenerator'); async function seedData() { try { console.log('开始同步数据库结构...'); await sequelize.sync(); console.log('数据库结构同步成功'); // 1. 创建示例机房 console.log('正在创建示例机房...'); const room = await Room.create({ name: '北京通州一号机房', location: '北京市通州区马驹桥', area: 500, capacity: 100, description: '公司核心数据中心,具备双路供电及精密空调系统。' }); console.log(`已创建机房: ${room.name} (${room.roomId})`); // 2. 创建示例业务 console.log('正在创建示例业务...'); const biz = await Business.create({ businessId: 'BIZ001', name: '云端计算核心', description: '负责核心云端计算资源的分配与管理。', contact: '王经理', phone: '13800000000' }); console.log(`已创建业务: ${biz.name}`); // 3. 创建示例机柜 console.log('正在创建示例机柜...'); const rack = await Rack.create({ rackId: 'RACK001', name: 'A-01', roomId: room.roomId, uCount: 42, maxPower: 8000, status: 'active', description: '标准 42U 机柜,位于 A 排 01 位。' }); console.log(`已创建机柜: ${rack.name}`); console.log('\n示例数据加载成功!'); process.exit(0); } catch (error) { console.error('示例数据加载失败:', error); process.exit(1); } } seedData();