"""Add job_id to magento_sync_queue for resumable sync.

When a sync is interrupted, the worker can resume from the persisted plan
by finding the job via queue.job_id and continuing pending magento_sync_items.

Revision ID: 0022_add_queue_job_id
Revises: 0021_add_magento_deletion_review
Create Date: 2026-03-17 00:00:00.000000
"""
from alembic import op
import sqlalchemy as sa

revision = "0022_add_queue_job_id"
down_revision = "0021_add_magento_deletion_review"
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.add_column(
        "magento_sync_queue",
        sa.Column("job_id", sa.Integer(), sa.ForeignKey("magento_sync_jobs.id"), nullable=True),
    )
    op.create_index("ix_magento_sync_queue_job_id", "magento_sync_queue", ["job_id"], unique=False)


def downgrade() -> None:
    op.drop_index("ix_magento_sync_queue_job_id", table_name="magento_sync_queue")
    op.drop_column("magento_sync_queue", "job_id")
