// 直接测试迁移工具功能 const { GeneratorService } = require('./dist/common/generator/services/generator.service'); const { PhpMigrationService } = require('./dist/tools/migration/services/php-migration.service'); async function testMigrationDirect() { try { console.log('🚀 开始直接测试迁移工具...\n'); // 模拟数据库连接 const mockDataSource = { query: async (sql, params) => { console.log('📝 执行SQL:', sql); console.log('📝 参数:', params); if (sql.includes('INFORMATION_SCHEMA.TABLES')) { return [ { tableName: 'sys_user' }, { tableName: 'sys_menu' }, { tableName: 'sys_config' }, { tableName: 'sys_area' }, { tableName: 'sys_dict_type' } ]; } if (sql.includes('INFORMATION_SCHEMA.COLUMNS')) { return [ { columnName: 'uid', columnComment: '用户ID', dataType: 'int', isNullable: 'NO', columnKey: 'PRI', columnDefault: null, extra: 'auto_increment' }, { columnName: 'username', columnComment: '用户名', dataType: 'varchar', isNullable: 'NO', columnKey: '', columnDefault: null, extra: '' }, { columnName: 'real_name', columnComment: '真实姓名', dataType: 'varchar', isNullable: 'YES', columnKey: '', columnDefault: null, extra: '' }, { columnName: 'status', columnComment: '状态', dataType: 'tinyint', isNullable: 'NO', columnKey: '', columnDefault: '1', extra: '' }, { columnName: 'create_time', columnComment: '创建时间', dataType: 'int', isNullable: 'NO', columnKey: '', columnDefault: null, extra: '' } ]; } if (sql.includes('TABLE_COMMENT')) { return [{ tableComment: '系统用户表' }]; } return []; } }; // 创建生成器服务 const generatorService = new GeneratorService(); generatorService.dataSource = mockDataSource; generatorService.configService = { get: (key, defaultValue) => defaultValue || 'NiuCloud Team' }; // 测试获取表列表 console.log('📋 测试获取表列表...'); const tables = await generatorService.getTables(); console.log('✅ 表列表:', tables); // 测试获取表信息 console.log('\n👤 测试获取 sys_user 表信息...'); const tableInfo = await generatorService.getTableInfo('sys_user'); console.log('✅ 表信息:', { tableName: tableInfo.tableName, className: tableInfo.className, moduleName: tableInfo.moduleName, fieldsCount: tableInfo.fields.length }); // 测试代码生成 console.log('\n🔧 测试代码生成...'); const files = await generatorService.generate({ tableName: 'sys_user', generateType: 1, generateController: true, generateService: true, generateEntity: true, generateDto: true, generateMapper: true, generateEvents: true, generateListeners: true }); console.log('✅ 代码生成成功'); console.log('📁 生成文件数量:', files.length); console.log('📄 生成的文件:'); files.forEach((file, index) => { console.log(` ${index + 1}. ${file.filePath} (${file.type})`); console.log(` 内容长度: ${file.content.length} 字符`); }); // 显示部分生成内容 console.log('\n📝 生成内容示例 (Controller):'); const controllerFile = files.find(f => f.type === 'controller'); if (controllerFile) { console.log(controllerFile.content.substring(0, 500) + '...'); } console.log('\n🎉 直接测试完成!迁移工具工作正常!'); } catch (error) { console.error('❌ 测试失败:', error.message); console.error('错误详情:', error); } } // 运行测试 testMigrationDirect();