Files
service_manager/backend/check_tenants.py
icamarillo 75726d915f v1.7.0 - Fix: Corregido error 500 en SLA Dashboard
- Fix error de sintaxis SQL en cálculo de tickets 'at risk'
- Fix error de timezone (offset-naive vs offset-aware datetimes)
- Implementado sistema completo de SLA Management
- Agregados endpoints: /sla/dashboard, /sla/violations, /sla/at-risk
- Creadas vistas frontend para dashboard, violaciones y tickets en riesgo
- Actualizado sistema de Celery para monitoreo automático de SLAs
- Mejorada configuración de categorías con tiempos SLA personalizables
- Corregidos problemas de proxy en configuración de Vite
- Agregado troubleshooting guide en README

Archivos principales modificados:
- backend/app/api/v1/endpoints/sla.py (nuevo)
- backend/app/api/schemas/sla.py (nuevo)
- frontend-internal/src/routes/sla/ (nuevo módulo completo)
- workers/app/tasks/sla_tasks.py (queries async mejoradas)

Documentación: docs/changelog-2026-02-17.md
2026-02-17 08:22:32 -07:00

36 lines
1.1 KiB
Python

"""
Utility script to list all tenants in the database
"""
import asyncio
from sqlalchemy import select
from app.core.database import AsyncSessionLocal
from app.models.tenant import Tenant
async def list_tenants():
"""List all tenants with their details."""
async with AsyncSessionLocal() as db:
result = await db.execute(select(Tenant))
tenants = result.scalars().all()
print("\n" + "="*60)
print("📋 TENANTS EN LA BASE DE DATOS")
print("="*60 + "\n")
if not tenants:
print("⚠️ No hay tenants en la base de datos\n")
print("💡 Ejecuta las migraciones o crea un tenant manualmente")
return
for tenant in tenants:
print(f"Slug: {tenant.slug}")
print(f"Nombre: {tenant.name}")
print(f"Status: {tenant.status}")
print(f"Email: {tenant.contact_email or 'N/A'}")
print(f"ID: {tenant.id}")
print("-" * 60)
print(f"\nTotal: {len(tenants)} tenant(s)\n")
if __name__ == "__main__":
asyncio.run(list_tenants())