const Framework = require('../framework/node-core-framework.js'); const frameworkConfig = require('../config/framework.config.js'); const Sequelize = require('sequelize'); async function syncPlaAccountIsEnabled() { console.log('🔄 开始同步 pla_account 表 is_enabled 字段...\n'); try { const framework = await Framework.init(frameworkConfig); const models = Framework.getModels(); if (!models) { throw new Error('无法获取模型列表'); } const pla_account = models.pla_account; if (!pla_account) { throw new Error('无法获取 pla_account 模型'); } console.log('正在同步表结构(使用 alter: true 模式,保留现有数据)...\n'); await pla_account.sync({ alter: true }); console.log('✅ pla_account 表同步成功!\n'); // 显示表结构 const sequelize = pla_account.sequelize; const tableInfo = await sequelize.query( `DESCRIBE pla_account`, { type: Sequelize.QueryTypes.SELECT } ); console.table(tableInfo.map(field => ({ 字段名: field.Field, 类型: field.Type, 允许空: field.Null, 默认值: field.Default, 注释: field.Comment || '' }))); // 检查 is_enabled 字段是否存在 const isEnabledField = tableInfo.find(field => field.Field === 'is_enabled'); if (isEnabledField) { console.log('\n✅ is_enabled 字段已存在'); console.log(` 类型: ${isEnabledField.Type}`); console.log(` 默认值: ${isEnabledField.Default}`); console.log(` 注释: ${isEnabledField.Comment || '无'}\n`); } else { console.warn('\n⚠️ is_enabled 字段不存在,可能需要手动添加\n'); } } catch (error) { console.error('❌ 同步失败:', error.message); console.error('\n详细错误:', error); throw error; } } syncPlaAccountIsEnabled() .then(() => { console.log('✅ 同步完成'); process.exit(0); }) .catch(error => { console.error('❌ 同步失败'); process.exit(1); });