const { sequelize, testConnection } = require('./config/database.js'); // 测试数据库连接 async function runTest() { console.log('=== 数据库连接测试开始 ==='); console.log('环境变量检查:'); console.log(`- DB_HOST: ${process.env.DB_HOST}`); console.log(`- DB_PORT: ${process.env.DB_PORT}`); console.log(`- DB_DATABASE: ${process.env.DB_DATABASE}`); console.log(`- DB_USER: ${process.env.DB_USER}`); console.log(`- DB_PASSWORD: ${process.env.DB_PASSWORD ? '已设置' : '未设置'}`); console.log('\n连接参数检查:'); console.log(`- 实际使用的主机: ${sequelize.config.host}`); console.log(`- 实际使用的端口: ${sequelize.config.port}`); console.log(`- 实际使用的数据库: ${sequelize.config.database}`); console.log(`- 实际使用的用户名: ${sequelize.config.username}`); console.log(`- 实际使用的密码: ${sequelize.config.password ? '已设置' : '未设置'}`); console.log('\n正在尝试连接数据库...'); const success = await testConnection(); if (success) { console.log('✅ 测试成功!数据库连接已建立。'); console.log('\n请尝试重新启动应用服务器。'); } else { console.log('❌ 测试失败。请检查数据库配置和服务状态。'); console.log('\n可能的解决方案:'); console.log('1. 确认MySQL服务正在运行'); console.log('2. 确认用户名和密码正确'); console.log('3. 确认数据库已创建'); console.log('4. 确认用户有足够的权限访问该数据库'); } console.log('=== 数据库连接测试结束 ==='); } // 执行测试 runTest().catch(error => { console.error('测试执行过程中发生错误:', error); process.exit(1); });