"""phase10.1 alert dedup key Revision ID: a3f1c8e94d72 Revises: 6b2d95ac3b46 Create Date: 2026-05-30 02:00:00.000000 """ from collections.abc import Sequence import sqlalchemy as sa from alembic import op revision: str = "a3f1c8e94d72" down_revision: str | None = "6b2d95ac3b46" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: op.add_column("alerts", sa.Column("dedup_key", sa.Text(), nullable=True)) op.create_index( "ix_alerts_watch_dedup", "alerts", ["watch_id", "dedup_key"], unique=True, postgresql_where=sa.text("dedup_key IS NOT NULL"), ) def downgrade() -> None: op.drop_index("ix_alerts_watch_dedup", table_name="alerts") op.drop_column("alerts", "dedup_key")