Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled
- Declare __table_args__ on Test with 5 indexes: technique_id, state, created_at, (technique_id,state), (state,created_at) - Declare __table_args__ on AuditLog with 3 indexes: (entity_type,entity_id), timestamp, (entity_type,entity_id,action) - Alembic b024: create only the 2 new indexes (ix_tests_created_at, ix_tests_state_created_at); existing indexes from b005/b018/b019 are preserved - Model index names aligned with existing migration names to prevent duplicates
38 lines
985 B
Python
38 lines
985 B
Python
"""add_critical_test_audit_indexes
|
|
|
|
Add missing critical indexes for tests and audit_logs tables to match
|
|
model __table_args__ declarations. Existing indexes (from b005, b018,
|
|
b019) are left untouched; only the two genuinely new indexes are created.
|
|
|
|
Revision ID: b024critidx
|
|
Revises: b023mustchgpwd
|
|
Create Date: 2026-02-18 12:00:00.000000
|
|
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
|
|
revision: str = "b024critidx"
|
|
down_revision: Union[str, None] = "b023mustchgpwd"
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.create_index(
|
|
"ix_tests_created_at",
|
|
"tests",
|
|
["created_at"],
|
|
)
|
|
op.create_index(
|
|
"ix_tests_state_created_at",
|
|
"tests",
|
|
["state", "created_at"],
|
|
)
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.drop_index("ix_tests_state_created_at", table_name="tests")
|
|
op.drop_index("ix_tests_created_at", table_name="tests")
|