32 lines
994 B
Python
32 lines
994 B
Python
"""scope signal url dedupe to run
|
|
|
|
Revision ID: 202607081730
|
|
Revises: 202607081700
|
|
Create Date: 2026-07-08 17:30:00
|
|
"""
|
|
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
|
|
revision: str = "202607081730"
|
|
down_revision: Union[str, None] = "202607081700"
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
# 信号按运行批次保存;同一链接跨运行保留,便于追踪每次日报实际产出。
|
|
op.drop_constraint("uq_signals_source_url_hash", "signals", type_="unique")
|
|
op.create_unique_constraint(
|
|
"uq_signals_run_source_url_hash",
|
|
"signals",
|
|
["run_id", "source_url_hash"],
|
|
)
|
|
|
|
|
|
def downgrade() -> None:
|
|
# 回滚时恢复全局链接唯一约束,迁移链保持可逆。
|
|
op.drop_constraint("uq_signals_run_source_url_hash", "signals", type_="unique")
|
|
op.create_unique_constraint("uq_signals_source_url_hash", "signals", ["source_url_hash"])
|