import { sequelize } from './sequelize.js'; async function checkRightsTable() { try { console.log('🔍 Überprüfe den aktuellen Zustand der chat.rights Tabelle...'); // Überprüfe die Constraints der chat.rights Tabelle const rightsConstraints = await sequelize.query(` SELECT tc.constraint_name, tc.constraint_type, kcu.column_name FROM information_schema.table_constraints tc LEFT JOIN information_schema.key_column_usage kcu ON tc.constraint_name = kcu.constraint_name WHERE tc.table_schema = 'chat' AND tc.table_name = 'rights' ORDER BY tc.constraint_type, kcu.column_name; `, { type: sequelize.QueryTypes.SELECT }); console.log(`📊 Chat Rights Constraints: ${rightsConstraints.length} gefunden`); rightsConstraints.forEach(constraint => { console.log(` - ${constraint.constraint_type} (${constraint.constraint_name}) auf Spalte: ${constraint.column_name}`); }); // Überprüfe speziell die UNIQUE Constraints auf der tr-Spalte const trUniqueConstraints = rightsConstraints.filter(c => c.constraint_type === 'UNIQUE' && c.column_name === 'tr' ); console.log(`\n🎯 UNIQUE Constraints auf der tr-Spalte: ${trUniqueConstraints.length}`); if (trUniqueConstraints.length === 1) { console.log('✅ Perfekt! Es gibt nur noch einen UNIQUE Constraint auf der tr-Spalte.'); } else if (trUniqueConstraints.length === 0) { console.log('⚠️ Es gibt keinen UNIQUE Constraint auf der tr-Spalte!'); } else { console.log(`❌ Es gibt immer noch ${trUniqueConstraints.length} UNIQUE Constraints auf der tr-Spalte.`); } console.log('\n✅ Überprüfung abgeschlossen'); } catch (error) { console.error('❌ Fehler bei der Überprüfung:', error); throw error; } } // Führe das Skript aus, wenn es direkt aufgerufen wird if (import.meta.url === `file://${process.argv[1]}`) { checkRightsTable() .then(() => { console.log('🎯 Überprüfung der chat.rights Tabelle abgeschlossen'); process.exit(0); }) .catch((error) => { console.error('💥 Überprüfung fehlgeschlagen:', error); process.exit(1); }); } export default checkRightsTable;