Files
nxxmdata/insurance_backend/test-db-connection.js

42 lines
1.7 KiB
JavaScript
Raw Normal View History

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);
});