"""角色管理范围锚点存量统一置「跟随用户设置」(契约1.31)。 Revision ID: 0034_role_anchor_self Revises: 0033_role_upload_permission Create Date: 2026-09-13 变更要点: 1. sys_role.managed_org_id 全部行统一置 0(SELF 哨兵=跟随用户设置): 角色配置界面暂时移除「机构及用户管理范围」下拉后,范围判定统一 回落用户级管理范围(sys_user.managed_org_id,契约1.30),NULL(全局) 与固定锚点ID一并收敛为 0; 2. DB 列保留不删(存量语义仅界面收敛,恢复下拉即还原三态); 3. 降级有损拒绝:原始锚点值无法还原。 """ from __future__ import annotations from collections.abc import Sequence from alembic import op revision: str = "0034_role_anchor_self" down_revision: str | None = "0033_role_upload_permission" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: # 全部角色锚点统一置 SELF(0=跟随用户设置),含软删行保持一致性 op.execute("UPDATE sys_role SET managed_org_id = 0") def downgrade() -> None: raise RuntimeError( "有损降级:sys_role.managed_org_id 原始锚点值(NULL/固定机构ID)" "已统一收敛为 0,无法还原,拒绝降级" )