"""fc3c: download_event.metadata + import_settings downloader fields Revision ID: 0013 Revises: 0012 Create Date: 2026-05-20 Additive only. download_event.metadata is the rich JSONB blob FC-3c populates per run (run_stats, stdout/stderr, quarantined paths, import summary). import_settings gains two operator-tunable downloader knobs: download_rate_limit_seconds (gallery-dl extractor.sleep) and download_validate_files (toggle the magic-byte validator). """ from typing import Sequence, Union import sqlalchemy as sa from alembic import op from sqlalchemy.dialects import postgresql revision: str = "0013" down_revision: Union[str, None] = "0012" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.add_column( "download_event", sa.Column( "metadata", postgresql.JSONB, nullable=False, server_default=sa.text("'{}'::jsonb"), ), ) op.add_column( "import_settings", sa.Column( "download_rate_limit_seconds", sa.Float(), nullable=False, server_default="3.0", ), ) op.add_column( "import_settings", sa.Column( "download_validate_files", sa.Boolean(), nullable=False, server_default=sa.true(), ), ) def downgrade() -> None: op.drop_column("import_settings", "download_validate_files") op.drop_column("import_settings", "download_rate_limit_seconds") op.drop_column("download_event", "metadata")