0039a809ac
- users 增: certification_status(uncertified|pending|certified|rejected)+certification_time, affiliation(independent|park)+park_id/park_name, account_type(opc_default|park_staff|platform_staff|provider|enterprise); alembic 0007
- repo: set_classification; _user_to_dict 含全部新字段; profile 返回认证/所属/账号类型
- admin: POST /admin/users/{id}/classification(认证/分类设置, action:user.manage) + UserClassificationRequest schema
- 迁移已应用, 导入通过
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
"""user classification/certification
|
|
|
|
Revision ID: 0007_user_classification
|
|
Revises: 0006_user_source_fields
|
|
Create Date: 2026-08-25
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
revision = "0007_user_classification"
|
|
down_revision = "0006_user_source_fields"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def _add(table, col):
|
|
conn = op.get_bind()
|
|
cols = {r[1] for r in conn.execute(sa.text(f"PRAGMA table_info({table})"))}
|
|
if col.name not in cols:
|
|
op.add_column(table, col)
|
|
|
|
|
|
def upgrade() -> None:
|
|
_add("users", sa.Column("certification_status", sa.String, server_default="uncertified"))
|
|
_add("users", sa.Column("certification_time", sa.String, server_default=""))
|
|
_add("users", sa.Column("affiliation", sa.String, server_default="independent"))
|
|
_add("users", sa.Column("park_id", sa.String, server_default=""))
|
|
_add("users", sa.Column("park_name", sa.String, server_default=""))
|
|
_add("users", sa.Column("account_type", sa.String, server_default="opc_default"))
|
|
|
|
|
|
def downgrade() -> None:
|
|
pass
|