"""add_ticket_indexes Revision ID: b7c8d9e0f1a2 Revises: fix_client_timestamps Create Date: 2026-03-03 00:00:00.000000 Agrega índices a la tabla tickets para optimizar queries frecuentes: - idx_tickets_status → filtros por estado - idx_tickets_priority → filtros por prioridad - idx_tickets_assigned_to → tickets por agente asignado - idx_tickets_tenant_status → compuesto multi-tenant (tenant_id, status) """ from alembic import op # revision identifiers, used by Alembic. revision = 'b7c8d9e0f1a2' down_revision = 'fix_client_timestamps' branch_labels = None depends_on = None def upgrade() -> None: op.execute( "CREATE INDEX IF NOT EXISTS idx_tickets_status ON tickets (status)" ) op.execute( "CREATE INDEX IF NOT EXISTS idx_tickets_priority ON tickets (priority)" ) op.execute( "CREATE INDEX IF NOT EXISTS idx_tickets_assigned_to " "ON tickets (assigned_to) WHERE assigned_to IS NOT NULL" ) op.execute( "CREATE INDEX IF NOT EXISTS idx_tickets_tenant_status " "ON tickets (tenant_id, status)" ) def downgrade() -> None: op.execute("DROP INDEX IF EXISTS idx_tickets_tenant_status") op.execute("DROP INDEX IF EXISTS idx_tickets_assigned_to") op.execute("DROP INDEX IF EXISTS idx_tickets_priority") op.execute("DROP INDEX IF EXISTS idx_tickets_status")