"""user locale, drop dismissed hints Revision ID: 8c31d0a4e7b2 Revises: 50f054decf55 Create Date: 2026-07-20 16:02:10.114872 """ from typing import Sequence, Union import sqlalchemy as sa from sqlalchemy.dialects import postgresql from alembic import op # revision identifiers, used by Alembic. revision: str = "8c31d0a4e7b2" down_revision: Union[str, Sequence[str], None] = "50f054decf55" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade schema.""" # The first-contact hints were removed: a dismissable callout that has to # be explained ("what hints?") is not guidance. Guidance that matters is # now static text at the place it belongs. op.drop_column("users", "dismissed_hints") # NULL = follow the browser's Accept-Language; a value pins the interface # language for this person on every device. op.add_column("users", sa.Column("locale", sa.String(length=5), nullable=True)) def downgrade() -> None: """Downgrade schema.""" op.drop_column("users", "locale") op.add_column( "users", sa.Column( "dismissed_hints", postgresql.JSONB(astext_type=sa.Text()), server_default="[]", nullable=False, ), )