879396b532
- users 增: wx_unionid/wx_mini_openid(微信绑定), source(来源枚举), auth_type, register_ip, last_login_ip/at, email, gender, birthday, compute_provisioned/username/quota/used_quota(算力镜像); alembic 0006 - 来源: register/phone-login/wx-login(读 X-Client 头,回退 body.source,再回退按 auth_type 推断)、admin 创建=admin、seed=seed - auth: 登录(签发令牌)记 last_login; profile 返回 source/auth_type/compute; email/gender/birthday 可编辑 - 对账 sync-users 回写 compute_* 镜像到平台用户 - _user_to_dict 含全部新字段; 迁移已应用, 导入/零依赖校验通过(dict 含 source/算力)
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
"""user source/rich fields
|
|
|
|
Revision ID: 0006_user_source_fields
|
|
Revises: 0005_park_settings
|
|
Create Date: 2026-08-25
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
revision = "0006_user_source_fields"
|
|
down_revision = "0005_park_settings"
|
|
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("wx_unionid", sa.String, server_default=""))
|
|
_add("users", sa.Column("wx_mini_openid", sa.String, server_default=""))
|
|
_add("users", sa.Column("email", sa.String, server_default=""))
|
|
_add("users", sa.Column("gender", sa.String, server_default=""))
|
|
_add("users", sa.Column("birthday", sa.String, server_default=""))
|
|
_add("users", sa.Column("source", sa.String, server_default=""))
|
|
_add("users", sa.Column("auth_type", sa.String, server_default=""))
|
|
_add("users", sa.Column("register_ip", sa.String, server_default=""))
|
|
_add("users", sa.Column("last_login_ip", sa.String, server_default=""))
|
|
_add("users", sa.Column("last_login_at", sa.String, server_default=""))
|
|
_add("users", sa.Column("compute_provisioned", sa.Boolean, server_default="0"))
|
|
_add("users", sa.Column("compute_username", sa.String, server_default=""))
|
|
_add("users", sa.Column("compute_quota", sa.Integer, server_default="0"))
|
|
_add("users", sa.Column("compute_used_quota", sa.Integer, server_default="0"))
|
|
|
|
|
|
def downgrade() -> None:
|
|
pass
|