chore(merge): 账号事件迁移改号 0041,并去重排查报告

dev 与 main 从 294c6cd 分叉后,各自新增了一个 0040 迁移(都从 20261002_0039 起链):
- main:20261003_0040 douyu_tasks.account_assigned_to(生产已应用)
- dev: 20261002_0040 account_events(未上生产)

两者合并即两个 alembic head,upgrade head 会直接失败。因为账号事件迁移从未被生产库
应用过,改号是安全的:

1. account_events 迁移改名为 20261003_0041,down_revision 指向 20261003_0040;
2. tests/test_migrations.py 的 HEAD_REVISION 同步改 20261003_0041;
3. 迁移保持幂等,本机开发库(alembic_version 已是 20261003_0040、account_events 表已存在)
   实跑 upgrade 通过,仅推进版本号、数据未动;
4. 顺带修正规划/解耦设计里「下一个迁移编号」的过期取值(现为 20261003_0042)。

排查报告去重:两个会话各自写了一份《生产服务器高负载排查…》报告,内容重叠且互相矛盾
(一处写 8 核/16GB,另一处有 nproc 原始输出为 4 vCPU/7.1GiB)。合并为单一文档
docs/生产服务器高负载排查与优化报告.md,以带原始命令输出的事实为准,删除重复的那份,
并修正引用它的迁移方案文档。
This commit is contained in:
yml2213
2026-10-04 13:20:36 +08:00
parent e88c41385b
commit 98a9f0e0bc
7 changed files with 215 additions and 266 deletions
@@ -16,6 +16,16 @@
实测 `audit_logs.target` 是自由文本(`冰柳192` / `导入103个` / `douyu_batch:xxx` 混着),
无法可靠关联到账号,导致「谁什么时候分配/改标签/删除了这个账号」进不了账号时间线。
加一列可空的 account_id,账号相关操作写入时带上即可(旧记录保持 NULL)。
## 编号为什么是 0041 而不是 0040
本迁移最初取号 `20261002_0040`(`down_revision` = `20261002_0039`)。开发期间生产上并发落地了
索引优化 `20261003_0040`,它同样从 `20261002_0039` 起链 —— 两边一合并就是**两个 alembic head**,
`upgrade head` 会直接报 `Multiple head revisions are present`。
因为本迁移**从未被生产库应用过**(`dev` 未部署),改号是安全的:接在 `20261003_0040` 之后成为
`20261003_0041`。升级脚本写成幂等的(`sa.inspect` 先查存在),所以对已手工建过表的本地库
重跑也只会空过并把版本号推进,不会重复建表。
"""
from collections.abc import Sequence
@@ -23,8 +33,8 @@ from collections.abc import Sequence
import sqlalchemy as sa
from alembic import op
revision: str = "20261002_0040"
down_revision: str | None = "20261002_0039"
revision: str = "20261003_0041"
down_revision: str | None = "20261003_0040"
branch_labels: str | Sequence[str] | None = None
depends_on: str | Sequence[str] | None = None