Files
yourpart3/backend/utils/checkRightsTable.js
Torsten Schulz (local) 1ab9407e79
All checks were successful
Deploy to production / deploy (push) Successful in 2m56s
Refactor code structure for improved readability and maintainability; optimize performance across multiple modules.
2026-07-21 09:08:15 +02:00

62 lines
2.4 KiB
JavaScript
Executable File

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;