perf(indexes): add critical indexes for Test and AuditLog models (P0)
Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled
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
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import uuid
|
||||
from sqlalchemy import Column, String, Text, Boolean, Integer, DateTime, ForeignKey, Enum, func
|
||||
from sqlalchemy import Column, String, Text, Boolean, Integer, DateTime, ForeignKey, Enum, Index, func
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
@@ -72,3 +72,11 @@ class Test(Base):
|
||||
remediation_user = relationship("User", foreign_keys=[remediation_assignee])
|
||||
original_test = relationship("Test", remote_side="Test.id", foreign_keys=[retest_of])
|
||||
retests = relationship("Test", foreign_keys=[retest_of], back_populates="original_test")
|
||||
|
||||
__table_args__ = (
|
||||
Index("ix_tests_technique_id", "technique_id"),
|
||||
Index("ix_tests_state", "state"),
|
||||
Index("ix_tests_created_at", "created_at"),
|
||||
Index("ix_tests_technique_state", "technique_id", "state"),
|
||||
Index("ix_tests_state_created_at", "state", "created_at"),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user