const { sequelize } = require('./config/database'); async function fixSupervisionTasks() { try { console.log('开始修复supervision_tasks表...'); // 检查并添加created_by字段 const createdByExists = await sequelize.query( 'SHOW COLUMNS FROM supervision_tasks LIKE "created_by"', { type: sequelize.QueryTypes.SELECT } ); if (createdByExists.length === 0) { await sequelize.query( 'ALTER TABLE supervision_tasks ADD COLUMN created_by INT(11) AFTER remarks', { type: sequelize.QueryTypes.RAW } ); console.log('✅ 添加created_by字段成功'); } else { console.log('✅ created_by字段已存在'); } // 检查并添加updated_by字段 const updatedByExists = await sequelize.query( 'SHOW COLUMNS FROM supervision_tasks LIKE "updated_by"', { type: sequelize.QueryTypes.SELECT } ); if (updatedByExists.length === 0) { await sequelize.query( 'ALTER TABLE supervision_tasks ADD COLUMN updated_by INT(11) AFTER created_by', { type: sequelize.QueryTypes.RAW } ); console.log('✅ 添加updated_by字段成功'); } else { console.log('✅ updated_by字段已存在'); } // 显示表结构 const columns = await sequelize.query('DESCRIBE supervision_tasks', { type: sequelize.QueryTypes.SELECT }); console.log('\nsupervision_tasks表结构:'); columns.forEach(col => console.log('-', col.Field, col.Type)); console.log('\n✅ supervision_tasks表修复完成!'); } catch (error) { console.error('❌ 修复失败:', error.message); } finally { await sequelize.close(); } } fixSupervisionTasks();