34 lines
808 B
Python
34 lines
808 B
Python
"""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")
|