34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
"""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")
|