feat(match3): Erweiterung der Match3-Admin-Funktionalitäten und -Modelle
- 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.
This commit is contained in:
61
backend/utils/checkRightsTable.js
Normal file
61
backend/utils/checkRightsTable.js
Normal file
@@ -0,0 +1,61 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user