add changes
This commit is contained in:
60
backend/test-db-connection.js
Normal file
60
backend/test-db-connection.js
Normal file
@@ -0,0 +1,60 @@
|
||||
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();
|
||||
Reference in New Issue
Block a user