const Framework = require('../framework/node-core-framework.js'); const frameworkConfig = require('../config/framework.config.js'); /** * 同步所有模型到数据库 * 执行所有 model 的 sync() 操作 */ async function syncAllModels() { try { console.log('开始同步所有模型到数据库...'); // 初始化框架 console.log('正在初始化框架...'); const framework = await Framework.init(frameworkConfig); // 获取所有模型 const models = Framework.getModels(); if (!models) { console.error('无法获取模型列表'); return; } console.log('找到以下模型:'); Object.keys(models).forEach(modelName => { console.log(`- ${modelName}`); }); // 同步所有模型 const syncPromises = Object.keys(models).map(async (modelName) => { try { const model = models[modelName]; console.log(`正在同步模型: ${modelName}`); // 执行同步 await model.sync({ alter: true }); return { modelName, success: true }; } catch (error) { console.error(`❌ ${modelName} 同步失败:`, error.message); return { modelName, success: false, error: error.message }; } }); // 等待所有同步操作完成 const results = await Promise.all(syncPromises); // 统计结果 const successCount = results.filter(r => r.success).length; const failCount = results.filter(r => !r.success).length; console.log('\n=== 同步结果统计 ==='); console.log(`成功: ${successCount} 个模型`); console.log(`失败: ${failCount} 个模型`); if (failCount > 0) { console.log('\n失败的模型:'); results.filter(r => !r.success).forEach(r => { console.log(`- ${r.modelName}: ${r.error}`); }); } console.log('\n数据库同步操作完成!'); } catch (error) { console.error('同步过程中发生错误:', error); } } // 执行同步 syncAllModels().then(() => { console.log('脚本执行完成'); process.exit(0); }).catch(error => { console.error('脚本执行失败:', error); process.exit(1); });