Update various configuration files, components, and assets; enhance notification system and API endpoints; improve documentation and styles across the application.
This commit is contained in:
71
scripts/run-migration.js
Normal file
71
scripts/run-migration.js
Normal file
@@ -0,0 +1,71 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const mysql = require('mysql2/promise');
|
||||
|
||||
// Database configuration - you should update these with your actual database credentials
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST || 'localhost',
|
||||
port: process.env.DB_PORT || 3306,
|
||||
user: process.env.DB_USER || 'root',
|
||||
password: process.env.DB_PASSWORD || '',
|
||||
database: process.env.DB_NAME || 'corrad_af_2024',
|
||||
multipleStatements: true
|
||||
};
|
||||
|
||||
async function runMigration() {
|
||||
let connection;
|
||||
|
||||
try {
|
||||
console.log('🔄 Connecting to database...');
|
||||
connection = await mysql.createConnection(dbConfig);
|
||||
|
||||
console.log('✅ Connected to database successfully');
|
||||
|
||||
// Read the migration file
|
||||
const migrationPath = path.join(__dirname, '..', 'database', 'migrations', '004_create_notification_logs_table.sql');
|
||||
const migrationSQL = fs.readFileSync(migrationPath, 'utf8');
|
||||
|
||||
console.log('📄 Running migration: 004_create_notification_logs_table.sql');
|
||||
|
||||
// Execute the migration
|
||||
const [results] = await connection.execute(migrationSQL);
|
||||
|
||||
console.log('✅ Migration completed successfully');
|
||||
console.log('🎉 Notification logs table created');
|
||||
|
||||
// Optional: Check if the table was created
|
||||
const [tables] = await connection.execute('SHOW TABLES LIKE "notification_logs"');
|
||||
|
||||
if (tables.length > 0) {
|
||||
console.log('✅ Table "notification_logs" confirmed to exist');
|
||||
|
||||
// Show table structure
|
||||
const [columns] = await connection.execute('DESCRIBE notification_logs');
|
||||
console.log('📋 Table structure:');
|
||||
columns.forEach(col => {
|
||||
console.log(` - ${col.Field}: ${col.Type} ${col.Null === 'YES' ? 'NULL' : 'NOT NULL'} ${col.Key ? `(${col.Key})` : ''}`);
|
||||
});
|
||||
} else {
|
||||
console.log('❌ Table "notification_logs" was not found');
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ Migration failed:', error.message);
|
||||
console.error('Stack trace:', error.stack);
|
||||
process.exit(1);
|
||||
} finally {
|
||||
if (connection) {
|
||||
await connection.end();
|
||||
console.log('🔌 Database connection closed');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Run the migration
|
||||
console.log('🚀 Starting database migration for notification logs...');
|
||||
runMigration().then(() => {
|
||||
console.log('✅ Migration process completed successfully');
|
||||
}).catch(error => {
|
||||
console.error('❌ Migration process failed:', error);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user