44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
"""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")
|