"""plex library HU-overlay columns (E5 S5a) Adds `metadata_lang` (default 'en') and a self-referential `overlay_of` to plex_libraries. An OVERLAY library is the Hungarian-metadata twin of another section: it is never browsed on its own — its titles' HU fields are written onto the matched EN rows (paired by `guid`, see 0064). Cheap: metadata-only, no table rewrite. """ from typing import Sequence, Union import sqlalchemy as sa from alembic import op revision: str = "0063_plex_library_overlay" down_revision: Union[str, None] = "0062_drop_redundant_idx" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.add_column( "plex_libraries", sa.Column("metadata_lang", sa.String(8), nullable=False, server_default="en"), ) op.add_column( "plex_libraries", sa.Column( "overlay_of", sa.Integer(), sa.ForeignKey("plex_libraries.id", ondelete="SET NULL"), nullable=True, ), ) op.create_index("ix_plex_libraries_overlay_of", "plex_libraries", ["overlay_of"]) def downgrade() -> None: op.drop_index("ix_plex_libraries_overlay_of", table_name="plex_libraries") op.drop_column("plex_libraries", "overlay_of") op.drop_column("plex_libraries", "metadata_lang")