ac2df72b21
- 删 UserIdentity 模型/IdentityRepository/db.identities,账号统一单一角色(users.role) - auth.py 去 select-identity/_identity_summaries,登录恒返回 identities=[];_login_response_for_user 按单角色签发 - 删多端口路由 rbac_government/investor/developer 及其 main 挂载 - seed 去多身份回填(_migrate_identities/_ensure_port_agents/多端身份/端口标签映射) - dependencies: require_port 去端口隔离(单角色放宽)、optional_current_user 修 identity_id 多余参数 - user_admin_service create_user 不再建端口身份;schemas 去 SelectIdentityRequest - 新增迁移 0014_drop_user_identities(drop user_identities 表) - 测试改写为单角色契约(登录空 identities、无 select-identity、账号级智能体) Co-Authored-By: Claude <noreply@anthropic.com>
40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
"""去多身份:drop user_identities
|
|
|
|
Revision ID: 0014_drop_user_identities
|
|
Revises: 0013_opc_cert_park_transfer
|
|
Create Date: 2026-08-26
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from alembic import op
|
|
|
|
revision = "0014_drop_user_identities"
|
|
down_revision = "0013_opc_cert_park_transfer"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
# 账号单一角色(去多身份/多端口):user_identities 不再使用,删除表。
|
|
op.drop_table("user_identities")
|
|
|
|
|
|
def downgrade() -> None:
|
|
# 降级:重建 user_identities(结构由模型决定,这里按原 models 恢复)。
|
|
import sqlalchemy as sa
|
|
|
|
op.create_table(
|
|
"user_identities",
|
|
sa.Column("id", sa.String(), primary_key=True),
|
|
sa.Column("user_id", sa.String(), sa.ForeignKey("users.id", ondelete="CASCADE"), nullable=False),
|
|
sa.Column("port", sa.String(), default="opc"),
|
|
sa.Column("role", sa.String(), default="opc_member"),
|
|
sa.Column("sub_role", sa.String(), nullable=True),
|
|
sa.Column("name", sa.String(), default=""),
|
|
sa.Column("org_id", sa.String(), sa.ForeignKey("organizations.id"), nullable=True),
|
|
sa.Column("region_id", sa.String(), sa.ForeignKey("regions.id"), nullable=True),
|
|
sa.Column("status", sa.String(), default="active"),
|
|
sa.Column("created_at", sa.String(), default=""),
|
|
sa.Column("updated_at", sa.String(), default=""),
|
|
)
|