Files
SkyArtShop/backend/apply-db-fixes.js

52 lines
1.4 KiB
JavaScript
Raw Normal View History

2026-01-18 02:22:05 -06:00
const { query, pool } = require('./config/database');
const fs = require('fs');
2026-01-04 17:52:37 -06:00
2026-01-18 02:22:05 -06:00
async function applyFixes() {
console.log('🔧 Applying database fixes...\n');
2026-01-04 17:52:37 -06:00
try {
2026-01-18 02:22:05 -06:00
const sql = fs.readFileSync('./fix-database-issues.sql', 'utf8');
console.log('Executing SQL fixes...');
await query(sql);
console.log('\n✅ All fixes applied successfully!\n');
// Verify the fixes
console.log('📊 Verifying fixes:');
// Count indexes
const indexes = await query(`
SELECT COUNT(*) as count
FROM pg_indexes
2026-01-04 17:52:37 -06:00
WHERE schemaname = 'public'
`);
2026-01-18 02:22:05 -06:00
console.log(` • Total indexes: ${indexes.rows[0].count}`);
// Check constraints
const constraints = await query(`
SELECT COUNT(*) as count
FROM information_schema.table_constraints
WHERE table_schema = 'public'
2026-01-04 17:52:37 -06:00
`);
2026-01-18 02:22:05 -06:00
console.log(` • Total constraints: ${constraints.rows[0].count}`);
// Check triggers
const triggers = await query(`
SELECT COUNT(*) as count
FROM information_schema.triggers
WHERE trigger_schema = 'public'
`);
console.log(` • Total triggers: ${triggers.rows[0].count}`);
console.log('\n🎉 Database optimization complete!\n');
process.exit(0);
2026-01-04 17:52:37 -06:00
} catch (error) {
2026-01-18 02:22:05 -06:00
console.error('❌ Error applying fixes:', error.message);
console.error('Details:', error);
2026-01-04 17:52:37 -06:00
process.exit(1);
}
}
2026-01-18 02:22:05 -06:00
applyFixes();