"""source.display_name — what a source is called on its platform. #4481. A Discord source's URL is a server id and a channel id, so the Subscriptions page could only show two numbers. The Discord ingester already loads the server and channel names to walk them; it now keeps them here, refreshed on every walk. NULL until a walk has read it. Revision ID: 0115 Revises: 0114 Create Date: 2026-09-28 """ import sqlalchemy as sa from alembic import op revision = "0115" down_revision = "0114" branch_labels = None depends_on = None def upgrade() -> None: op.add_column("source", sa.Column("display_name", sa.Text(), nullable=True)) def downgrade() -> None: op.drop_column("source", "display_name")