"""users.name / users.user_name 列(平台登录注入的用户档案).

Revision ID: 0016
Revises: 0015
Create Date: 2026-06-25

给 users 加两列:name(显示名/姓名)+ user_name(平台账号名),均 nullable。
平台经 /v1/auth/login(platform_key 形态)在 body 里注入,ensure_user_row upsert
落库;邮箱密码 / 历史行留空。将来 OIDC 接管时由 ID token 的 name / preferred_username
claim 注入,数据流不变。详 DESIGN §7.3 / §7.4。

纯加列、不动现有数据(平滑兼容线上存量行,留 NULL)。
"""
from typing import Sequence, Union

import sqlalchemy as sa
from alembic import op


revision: str = "0016"
down_revision: Union[str, None] = "0015"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    op.add_column("users", sa.Column("name", sa.Text(), nullable=True))
    op.add_column("users", sa.Column("user_name", sa.Text(), nullable=True))


def downgrade() -> None:
    op.drop_column("users", "user_name")
    op.drop_column("users", "name")
