check_table_structure.py•2.04 kB
#!/usr/bin/env python3
"""
Script para verificar la estructura de la tabla documents
"""
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent / 'src'))
from src.config import config
from supabase import create_client
def check_table_structure():
    """Verificar estructura de la tabla documents"""
    
    print("🔍 Verificando estructura de tabla 'documents'...")
    print("="*60)
    
    client = create_client(config.SUPABASE_URL, config.SUPABASE_SERVICE_ROLE_KEY)
    
    try:
        # Obtener un registro para ver las columnas
        result = client.table('documents').select('*').limit(1).execute()
        
        if result.data and len(result.data) > 0:
            doc = result.data[0]
            print(f"✅ Tabla 'documents' encontrada")
            print(f"\n📋 Columnas disponibles:")
            for column, value in doc.items():
                value_type = type(value).__name__
                value_preview = str(value)[:50] if value else "NULL"
                print(f"   - {column:20} ({value_type:10}): {value_preview}...")
            
            print(f"\n📊 Total de registros: {len(result.data)}")
            
            # Verificar si tiene embedding
            if 'embedding' in doc:
                if doc['embedding']:
                    embed_len = len(doc['embedding']) if isinstance(doc['embedding'], list) else 'N/A'
                    print(f"\n✅ Columna 'embedding' existe (dimensiones: {embed_len})")
                else:
                    print(f"\n⚠️  Columna 'embedding' existe pero está vacía")
            else:
                print(f"\n❌ Columna 'embedding' NO existe")
                
        else:
            print(f"⚠️  Tabla está vacía, no se pueden verificar columnas")
            print(f"   Intenta insertar un documento primero")
            
    except Exception as e:
        print(f"❌ Error: {e}")
        import traceback
        traceback.print_exc()
if __name__ == "__main__":
    check_table_structure()