Files
nxxmdata/bank-backend/scripts/setup-projects-simple.js

61 lines
2.1 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const { sequelize } = require('../config/database');
const { Project } = require('../models');
const seedProjects = require('./seed-projects');
async function setupProjectsSimple() {
try {
console.log('🚀 开始设置项目清单功能...\n');
// 1. 测试数据库连接
console.log('1⃣ 测试数据库连接...');
await sequelize.authenticate();
console.log('✅ 数据库连接成功\n');
// 2. 同步项目模型(创建表)
console.log('2⃣ 创建项目表...');
await Project.sync({ force: false }); // force: false 表示如果表已存在则不删除
console.log('✅ 项目表创建成功\n');
// 3. 创建项目测试数据
console.log('3⃣ 创建项目测试数据...');
await seedProjects();
console.log('✅ 项目测试数据创建完成\n');
// 4. 验证数据
console.log('4⃣ 验证项目数据...');
const projectCount = await Project.count();
const supervisionCount = await Project.count({ where: { status: 'supervision' } });
const completedCount = await Project.count({ where: { status: 'completed' } });
console.log(` 总项目数: ${projectCount}`);
console.log(` 监管中项目: ${supervisionCount}`);
console.log(` 已结项项目: ${completedCount}`);
console.log('✅ 项目数据验证完成\n');
console.log('🎉 项目清单功能设置完成!');
console.log('📝 接下来可以:');
console.log(' 1. 启动后端服务器: npm start');
console.log(' 2. 运行API测试: node test-projects-api.js');
console.log(' 3. 在前端访问项目清单页面');
} catch (error) {
console.error('❌ 设置项目清单功能失败:', error);
throw error;
}
}
// 如果直接运行此脚本
if (require.main === module) {
setupProjectsSimple()
.then(() => {
console.log('✅ 脚本执行完成');
process.exit(0);
})
.catch((error) => {
console.error('❌ 脚本执行失败:', error);
process.exit(1);
});
}
module.exports = setupProjectsSimple;