- Implementierung neuer Endpunkte für die Verwaltung von Match3-Kampagnen, Levels, Objectives und Tile-Typen im Admin-Bereich. - Anpassung der Admin-Services zur Unterstützung von Benutzerberechtigungen und Fehlerbehandlung. - Einführung von neuen Modellen und Assoziationen für Match3-Levels und Tile-Typen in der Datenbank. - Verbesserung der Internationalisierung für Match3-spezifische Texte in Deutsch und Englisch. - Aktualisierung der Frontend-Routen und -Komponenten zur Verwaltung von Match3-Inhalten.
62 lines
2.4 KiB
JavaScript
62 lines
2.4 KiB
JavaScript
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;
|