Newer
Older
gn-synapse / alembic / versions / 20261003_0003_routing_full.py
""" Routing Engine полный: throttle_seconds у правил, статус skipped у доставок

Revision ID: b7d2f4a19e60
Revises: a4c1e9b02d77
Create Date: 2026-10-03
"""

from alembic import op
import sqlalchemy as sa


revision = "b7d2f4a19e60"
down_revision = "a4c1e9b02d77"
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.add_column("routing_rules", sa.Column("throttle_seconds", sa.Integer(), nullable=True))
    op.drop_constraint("ck_delivery_status", "deliveries", type_="check")
    op.create_check_constraint(
        "ck_delivery_status",
        "deliveries",
        "status IN ('pending','delivered','failed','skipped')",
    )


def downgrade() -> None:
    op.drop_constraint("ck_delivery_status", "deliveries", type_="check")
    op.create_check_constraint(
        "ck_delivery_status",
        "deliveries",
        "status IN ('pending','delivered','failed')",
    )
    op.drop_column("routing_rules", "throttle_seconds")