Files
yunrui_asset/backend/scripts/seed-example-data.js
T

65 lines
1.9 KiB
JavaScript

/**
* 示例数据种子脚本
* 为云睿资产管理系统添加初始示例数据
*/
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();