""" Статус события expired: ttl_seconds реально применяется, ретеншн чистит старое
Revision ID: a1c4e7d52b98
Revises: c8e4f2b77d10
Create Date: 2026-10-03
"""
from alembic import op
revision = "a1c4e7d52b98"
down_revision = "c8e4f2b77d10"
branch_labels = None
depends_on = None
STATUS_NEW = "status IN ('queued', 'processing', 'done', 'failed', 'expired')"
STATUS_OLD = "status IN ('queued', 'processing', 'done', 'failed')"
def upgrade() -> None:
op.drop_constraint("ck_event_status", "events", type_="check")
op.create_check_constraint("ck_event_status", "events", STATUS_NEW)
def downgrade() -> None:
# События в expired обратно в queued не возвращаем — просто роняем
# constraint; их нет после первого прогона ретеншна.
op.drop_constraint("ck_event_status", "events", type_="check")
op.create_check_constraint("ck_event_status", "events", STATUS_OLD)