CoolFace
Apppublic

fmatituy/selectospromanager

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
debug_db_final.py50 linesDownload Raw Back to src
1import sqlite32import os3import sys4 5# Forzar el path para encontrar la base de datos correcta en src/database6db_path = r'C:\Users\faust\.gemini\antigravity\scratch\selectos_promanager\src\database\pro_manager.db'7 8print(f"--- ANALIZANDO BASE DE DATOS EN: {db_path} ---")9 10if not os.path.exists(db_path):11    print("!!! ERROR: El archivo no existe en esa ruta.")12    sys.exit(1)13 14conn = sqlite3.connect(db_path)15conn.row_factory = sqlite3.Row16c = conn.cursor()17 18# 1. Verificar Usuarios19c.execute("SELECT id, nombre, username FROM usuarios")20users = [dict(row) for row in c.fetchall()]21print(f"Usuarios en DB: {users}")22 23# 2. Verificar Proyectos24c.execute("SELECT id, nombre FROM proyectos")25projs = [dict(row) for row in c.fetchall()]26print(f"Proyectos en DB: {projs}")27 28# 3. Verificar Solicitudes con sus Joins29query = """30    SELECT s.id, s.estado, u.nombre as solicitante, p.nombre as proyecto, s.usuario_id, s.proyecto_id31    FROM sst_solicitudes_permisos s32    LEFT JOIN usuarios u ON s.usuario_id = u.id33    LEFT JOIN proyectos p ON s.proyecto_id = p.id34    WHERE s.estado = 'Pendiente'35"""36c.execute(query)37solicitudes = [dict(row) for row in c.fetchall()]38print(f"\n--- SOLICITUDES PENDIENTES ENCONTRADAS ({len(solicitudes)}) ---")39for s in solicitudes[:10]: # Ver las primeras 1040    print(f"ID: {s['id']} | Solicitante: {s['solicitante']} | Proyecto: {s['proyecto']} | Status: {s['estado']}")41 42# 4. Verificar Tipos de Datos (Pragma)43c.execute("PRAGMA table_info(sst_solicitudes_permisos)")44info = [dict(row) for row in c.fetchall()]45print("\n--- ESTRUCTURA DE TABLA ---")46for f in info:47    print(f"Columna: {f['name']} | Tipo: {f['type']}")48 49conn.close()50