Files
Tasks/backend/test-db-connection.js
2025-11-11 00:25:50 +02:00

61 lines
2.3 KiB
JavaScript

require('dotenv').config();
const db = require('./models');
async function testDatabaseConnection() {
console.log('\n🔍 Testing Database Connection...\n');
console.log('Configuration:');
console.log('- Host:', process.env.DB_HOST);
console.log('- Port:', process.env.DB_PORT);
console.log('- Database:', process.env.DB_NAME);
console.log('- User:', process.env.DB_USER);
console.log('- Dialect:', process.env.DB_DIALECT);
console.log('\n');
try {
// Test connection
await db.sequelize.authenticate();
console.log('✅ Connection has been established successfully.\n');
// Get database version
const [results] = await db.sequelize.query('SELECT VERSION() as version');
console.log('📊 MySQL Version:', results[0].version);
// Check if database exists
const [databases] = await db.sequelize.query('SHOW DATABASES');
const dbExists = databases.some(d => d.Database === process.env.DB_NAME);
if (dbExists) {
console.log(`✅ Database '${process.env.DB_NAME}' exists.\n`);
// Show tables in database
const [tables] = await db.sequelize.query(`SHOW TABLES FROM ${process.env.DB_NAME}`);
console.log(`📋 Tables in '${process.env.DB_NAME}':`, tables.length > 0 ? tables.length : 'No tables yet');
if (tables.length > 0) {
tables.forEach(table => {
const tableName = table[`Tables_in_${process.env.DB_NAME}`];
console.log(` - ${tableName}`);
});
}
} else {
console.log(`⚠️ Database '${process.env.DB_NAME}' does not exist.`);
console.log(`\nTo create it, run:`);
console.log(`mysql -u ${process.env.DB_USER} -p -e "CREATE DATABASE ${process.env.DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"`);
}
console.log('\n✅ Database connection test completed successfully!\n');
process.exit(0);
} catch (error) {
console.error('\n❌ Database connection test failed:');
console.error('Error:', error.message);
console.error('\nPlease ensure:');
console.error('1. MySQL server is running');
console.error('2. Database credentials in .env are correct');
console.error('3. Database exists (or create it with the command above)');
console.error('4. User has proper permissions\n');
process.exit(1);
}
}
testDatabaseConnection();