1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
"""Add missing indexes for common query patterns.
Revision ID: 003
Revises: 002
Create Date: 2026-04-02
"""
from collections.abc import Sequence
from alembic import op
revision: str = "003"
down_revision: str | None = "002"
branch_labels: str | Sequence[str] | None = None
depends_on: str | Sequence[str] | None = None
def upgrade() -> None:
op.create_index("idx_signals_symbol_created", "signals", ["symbol", "created_at"])
op.create_index(
"idx_orders_symbol_status_created", "orders", ["symbol", "status", "created_at"]
)
op.create_index("idx_trades_order_id", "trades", ["order_id"])
op.create_index("idx_trades_symbol_traded", "trades", ["symbol", "traded_at"])
op.create_index("idx_portfolio_snapshots_at", "portfolio_snapshots", ["snapshot_at"])
op.create_index("idx_symbol_scores_symbol", "symbol_scores", ["symbol"], unique=True)
def downgrade() -> None:
op.drop_index("idx_symbol_scores_symbol", table_name="symbol_scores")
op.drop_index("idx_portfolio_snapshots_at", table_name="portfolio_snapshots")
op.drop_index("idx_trades_symbol_traded", table_name="trades")
op.drop_index("idx_trades_order_id", table_name="trades")
op.drop_index("idx_orders_symbol_status_created", table_name="orders")
op.drop_index("idx_signals_symbol_created", table_name="signals")
|