"""Add ClusterMetrics table and indexes Revision ID: 44ec727f17b2 Revises: 90bb78317ee5 Create Date: 2025-12-24 13:06:52.726451 """ from typing import Sequence, Union import sqlalchemy as sa from alembic import op # revision identifiers, used by Alembic. revision: str = "44ec727f17b2" down_revision: Union[str, None] = "90bb78317ee5" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### op.create_table( "cluster_metrics", sa.Column("id", sa.Integer(), autoincrement=True, nullable=False), sa.Column("task_id", sa.Integer(), nullable=False), sa.Column("cluster_id", sa.String(length=100), nullable=False), sa.Column("metrics_data", sa.LargeBinary(), nullable=False), sa.Column( "created_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=True, ), sa.Column("deleted", sa.Boolean(), nullable=False), sa.PrimaryKeyConstraint("id"), ) op.create_index( "idx_cluster_metrics_deleted", "cluster_metrics", ["deleted"], unique=False ) op.create_index( "idx_cluster_metrics_task_cluster", "cluster_metrics", ["task_id", "cluster_id"], unique=False, ) op.create_index( "idx_result_task_deleted_id", "test_results", ["task_id", "deleted", "id"], unique=False, ) op.create_index("idx_task_deleted", "test_tasks", ["deleted"], unique=False) op.create_index( "idx_task_report_filter", "test_tasks", ["status", "deleted", "cloud_provider", "region", "cluster_version"], unique=False, ) op.create_index( "idx_task_status_deleted", "test_tasks", ["status", "deleted"], unique=False ) # ### end Alembic commands ### def downgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### op.drop_index("idx_task_status_deleted", table_name="test_tasks") op.drop_index("idx_task_report_filter", table_name="test_tasks") op.drop_index("idx_task_deleted", table_name="test_tasks") op.drop_index("idx_result_task_deleted_id", table_name="test_results") op.drop_index("idx_cluster_metrics_task_cluster", table_name="cluster_metrics") op.drop_index("idx_cluster_metrics_deleted", table_name="cluster_metrics") op.drop_table("cluster_metrics") # ### end Alembic commands ###