20260723_190_rule_cleanup_leases.py 927 B

12345678910111213141516171819202122232425262728293031323334
  1. """Add expiring claims for governed-rule cleanup workers."""
  2. from alembic import op
  3. revision = "20260723_190"
  4. down_revision = "20260723_180"
  5. branch_labels = None
  6. depends_on = None
  7. def upgrade() -> None:
  8. op.execute(
  9. """
  10. ALTER TABLE public.rule_violation_samples
  11. ADD COLUMN cleanup_claim_expires_at TIMESTAMPTZ;
  12. CREATE INDEX idx_rule_violation_sample_cleanup_lease
  13. ON public.rule_violation_samples(
  14. cleanup_claim_expires_at, expires_at, id
  15. );
  16. ALTER TABLE public.rule_sql_staging_receipts
  17. ADD COLUMN cleanup_claim_expires_at TIMESTAMPTZ;
  18. CREATE INDEX idx_rule_sql_receipt_cleanup_lease
  19. ON public.rule_sql_staging_receipts(
  20. cleanup_claim_expires_at, expires_at, id
  21. );
  22. """
  23. )
  24. def downgrade() -> None:
  25. raise RuntimeError("rule cleanup leases are forward-only")