From 433555da3c21f77d69503542709cab1f80abfe9e Mon Sep 17 00:00:00 2001 From: guke Date: Thu, 16 Jul 2026 17:36:06 +0800 Subject: [PATCH] =?UTF-8?q?chore(alembic):=20=E5=90=88=E5=B9=B6=20pages=5F?= =?UTF-8?q?override=20=E4=B8=8E=E9=A2=86=E5=88=B8=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E7=8E=87=E4=B8=A4=E4=B8=AA=E8=BF=81=E7=A7=BB=20head,=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=20upgrade=20head(=E5=8D=95=E6=95=B0)=E5=A4=9A=20head?= =?UTF-8?q?=20=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pull main 带入 #126 的 admin_user_pages_override,与本分支领券成功率的 coupon_session_platform_success → coupon_claim_app_env 都从 admin_user_plain_password 分叉,形成两个 alembic head。多 head 会让部署/run.sh 用的 `alembic upgrade head`(单数) 报 "Multiple head revisions are present" 而中断。 本迁移为纯 merge:upgrade/downgrade 均空,不含任何表结构或数据改动,仅把两个 head 收敛为单 head(merge_pages_override_coupon_slot),使 `alembic upgrade head` 恢复正常。 --- app/api/v1/auth.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/app/api/v1/auth.py b/app/api/v1/auth.py index be135a5..e3728be 100644 --- a/app/api/v1/auth.py +++ b/app/api/v1/auth.py @@ -12,12 +12,17 @@ from __future__ import annotations import logging -from fastapi import APIRouter, HTTPException, Request, status +from fastapi import APIRouter, HTTPException, Request from sqlalchemy.exc import IntegrityError from app.api.deps import CurrentUser, DbSession from app.core import test_account -from app.core.ratelimit import enforce_rate_limit +from app.core.ratelimit import ( + RateLimitRule, + check_rate_limits, + enforce_rate_limit, + record_rate_limits, +) from app.core.security import ( TokenError, create_bind_ticket, @@ -28,13 +33,6 @@ from app.core.security import ( issue_token_pair, ) from app.integrations import wxpay -from app.core.ratelimit import ( - RateLimitRule, - check_rate_limits, - enforce_rate_limit, - record_rate_limits, -) -from app.core.security import TokenError, decode_token, issue_token_pair from app.integrations.jiguang import JiguangError, mask_phone, verify_and_get_phone from app.integrations.sms import SmsError, send_code, verify_code from app.repositories import onboarding as onboarding_repo