import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Database, Eye, Loader2, Download } from "lucide-react"; import { useAuthUnified } from "@/hooks/useAuthUnified"; export default function DatabaseDebug() { const { user } = useAuthUnified(); const [isLoading, setIsLoading] = useState(false); const [result, setResult] = useState(null); const [error, setError] = useState(null); const handleLogSchema = async () => { setIsLoading(true); setError(null); setResult(null); try { const response = await fetch('/api/debug/log-schema', { method: 'GET', credentials: 'include', headers: { 'Content-Type': 'application/json', }, }); const data = await response.json(); if (response.ok) { setResult(data); } else { setError(data.message || data.error || 'Erreur inconnue'); } } catch (err) { setError('Erreur de connexion au serveur'); } finally { setIsLoading(false); } }; if (!user || user.role !== 'admin') { return (

Accès refusé. Seuls les administrateurs peuvent accéder à cette page.

); } return (

Debug Base de Données

Outils de diagnostic pour la base de données de production

Scanner le Schéma de la Base

Cette action va scanner votre base de données de production et logger toutes les tables, colonnes et relations dans les logs du serveur.

⚠️ Note importante : Cette fonctionnalité ne marche qu'en production sur votre serveur privé. Les résultats apparaîtront dans les logs de votre serveur.

{result && ( )}
{error && (

Erreur : {error}

)} {result && (

✅ Scan terminé avec succès

Tables trouvées : {result.totalTables}

Relations FK : {result.totalForeignKeys}

Timestamp : {new Date(result.timestamp).toLocaleString('fr-FR')}

📋 Consultez maintenant les logs de votre serveur pour voir le détail complet du schéma.

💾 Cliquez sur "Télécharger" pour obtenir le rapport complet au format fichier texte.

)}
Instructions

1. Cliquer sur "Démarrer le Scan du Schéma"

Cette action va déclencher le scan de votre base de données.

2. Consulter les logs du serveur

Les résultats apparaîtront dans les logs de votre application Node.js sur votre serveur privé. Cherchez les lignes qui commencent par "🔍 ===== DÉBUT SCAN SCHÉMA BASE DE DONNÉES =====".

3. Informations récupérées

  • • Liste complète des tables
  • • Colonnes avec types de données et contraintes
  • • Nombre d'enregistrements par table
  • • Relations de clés étrangères
); }