28 lines
910 B
Python
28 lines
910 B
Python
|
|
"""canonical source webpage URL on media assets
|
||
|
|
|
||
|
|
Revision ID: 0043_asset_source_url
|
||
|
|
Revises: 0042_download_links
|
||
|
|
Create Date: 2026-07-04
|
||
|
|
|
||
|
|
Stores yt-dlp's canonical `webpage_url` for a download's source, so the Downloads page can show a
|
||
|
|
clean "downloaded from" reference (copyable + openable). Nullable — filled by the worker on
|
||
|
|
extraction; existing/queued rows fall back to a URL derived from source_kind+source_ref.
|
||
|
|
"""
|
||
|
|
from typing import Sequence, Union
|
||
|
|
|
||
|
|
import sqlalchemy as sa
|
||
|
|
from alembic import op
|
||
|
|
|
||
|
|
revision: str = "0043_asset_source_url"
|
||
|
|
down_revision: Union[str, None] = "0042_download_links"
|
||
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
||
|
|
depends_on: Union[str, Sequence[str], None] = None
|
||
|
|
|
||
|
|
|
||
|
|
def upgrade() -> None:
|
||
|
|
op.add_column("media_assets", sa.Column("source_webpage_url", sa.Text(), nullable=True))
|
||
|
|
|
||
|
|
|
||
|
|
def downgrade() -> None:
|
||
|
|
op.drop_column("media_assets", "source_webpage_url")
|