#!/usr/bin/env node

/**
 * Datenbank-Synchronisations-Script
 * Führt Schema-Updates und Constraint-Bereinigung durch
 */

import './config/loadEnv.js';
import { syncDatabaseForDeployment } from './utils/syncDatabase.js';
import cleanupDatabaseConstraints from './utils/cleanupDatabaseConstraints.js';

console.log('🗄️  Starte Datenbank-Synchronisation (Deployment-Modus)...');

async function main() {
    try {
        // 1. Datenbank-Synchronisation mit Schema-Updates
        console.log('📊 Führe Datenbank-Synchronisation mit Schema-Updates durch...');
        await syncDatabaseForDeployment();
        console.log('✅ Datenbank-Synchronisation erfolgreich abgeschlossen');
        
        // 2. Constraint-Bereinigung
        console.log('🧹 Räume Datenbank-Constraints auf...');
        await cleanupDatabaseConstraints();
        console.log('✅ Constraint-Bereinigung erfolgreich abgeschlossen');
        
        console.log('🎉 Alle Datenbank-Operationen erfolgreich abgeschlossen!');
        process.exit(0);
        
    } catch (error) {
        console.error('❌ Fehler bei der Datenbank-Synchronisation:', error);
        console.error('Stack Trace:', error.stack);
        process.exit(1);
    }
}

// Script ausführen
main();
