dbc29eee59
- park_members/company_members 多对多成员表(0028),users.affiliation 为派生缓存由 sync_user_affiliation 刷新 - 转园两级审核状态机(0029):pending_from→pending_to→approved,支持用户/企业整体转园与运营端兜底 - 叠加制身份(0030):身份恒为运营/载体/OPC,企业管理员为能力叠加非身份,去除 enterprise/carrier 直写角色 - rbac 新增 memberships/park-transfers/企业管理员工作台 /admin/ent/* 接口 Co-Authored-By: Claude <noreply@anthropic.com>
36 lines
1022 B
Python
36 lines
1022 B
Python
"""数据修复:企业管理员是能力标记(company_members.is_admin),不是身份。
|
|
|
|
早期绑定企业管理员时误将 users.role 改写为 'enterprise'(导致桌面端被分到甲方企业端)。
|
|
按叠加制身份模型,身份仅 operator/carrier/opc_member——本迁移把 role='enterprise'
|
|
复位为 'opc_member',企业管理能力保留在 company_members.is_admin 不变。
|
|
|
|
Revision ID: 0030_remove_enterprise_role
|
|
Revises: 0029_transfer_two_stage
|
|
Create Date: 2026-08-31
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
import sqlalchemy as sa
|
|
from alembic import op
|
|
|
|
revision = "0030_remove_enterprise_role"
|
|
down_revision = "0029_transfer_two_stage"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.execute(
|
|
sa.text(
|
|
"""
|
|
UPDATE users SET role = 'opc_member', updated_at = ''
|
|
WHERE role = 'enterprise'
|
|
"""
|
|
)
|
|
)
|
|
|
|
|
|
def downgrade() -> None:
|
|
# 不可逆修复:不恢复误改的 enterprise 角色
|
|
pass
|