"""Add unique constraint on jobs.document_id + queue for ON CONFLICT support. Revision ID: 0007 Revises: 0006 Create Date: 2026-08-16 Adds a unique constraint on (document_id, queue) to support ON CONFLICT clauses in worker handlers that need idempotent job tracking per queue. """ from __future__ import annotations from collections.abc import Sequence from alembic import op # revision identifiers, used by Alembic. revision: str = "0007" down_revision: str | None = "0006" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: # Add unique constraint on (document_id, queue) to support ON CONFLICT op.create_unique_constraint("jobs_document_queue_unique", "jobs", ["document_id", "queue"]) def downgrade() -> None: op.drop_constraint("jobs_document_queue_unique", "jobs", type_="unique")