chore(backend): list_order迁移补齐+Task14类型修正落链+moments每页日志+MsgTypeParam派生+3处文档修正+Dockerfile打包migrations+DEPLOY补迁移步骤
- 9b0d0c133035: wechat_account.list_order 进迁移链(此前仅模型声明, 干净库 /api/accounts 即 500);sa.inspect 幂等守卫兼容已手动加列的 smoke.db - fe63c6789e94(验证中发现的预存缺口,超出原清单): Task 14 的 5 列模型 类型修正(4×URL String(1024)→Text, db_size Integer→BigInteger)从未落 链——纯 alembic 新库会复活 >1KB 链接截断;对齐后干净库 alembic check 全绿。SQLite message 表 batch 重建会掉 FTS 触发器+rowid 脱节(docstring 记明 ensure_fts+rebuild_fts 修复,smoke.db 已修复验证) - scrape_via_page: _iter_moments_pages 每页一行进度日志(镜像 _fetch_pages) - messages: MsgTypeParam=Literal[tuple(_MSG_TYPE_FILTER)] 派生,杜绝 双处罗列漂移(openapi enum 验证一致,492 绿含 422 行为) - 文档: ChatGroup 复合PK docstring/groups room_id 多行表述/测试名去 单行假设;Dockerfile 补 alembic.ini+migrations;DEPLOY 增「数据库 迁移」节(新库/旧库stamp路径/回填脚本显式DB_URL)+运维表升级行 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -44,9 +44,9 @@ async def list_groups(
|
||||
|
||||
``user_id`` maps to the ``ChatGroup.owner_user_id`` column (the staff
|
||||
``userId`` who owns the chatroom account), mirroring the ``user_id``
|
||||
filter on ``GET /api/customers``. ``room_id`` is an exact-match single-
|
||||
row lookup (chat page group-name resolution). ``q`` is a substring match
|
||||
on ``room_name``.
|
||||
filter on ``GET /api/customers``. ``room_id`` is an exact-match lookup
|
||||
(composite PK: the same room may return one row per owner; chat page
|
||||
group-name resolution). ``q`` is a substring match on ``room_name``.
|
||||
"""
|
||||
conditions = []
|
||||
if channel is not None:
|
||||
|
||||
@@ -52,19 +52,9 @@ _MSG_TYPE_FILTER: dict[str, tuple[str, ...]] = {
|
||||
"mini_program": ("mini_program",),
|
||||
}
|
||||
|
||||
MsgTypeParam = Literal[
|
||||
"text",
|
||||
"image",
|
||||
"voice",
|
||||
"video",
|
||||
"link",
|
||||
"file",
|
||||
"red_packet",
|
||||
"transfer",
|
||||
"voice_call",
|
||||
"video_call",
|
||||
"mini_program",
|
||||
]
|
||||
# 派生而非重复罗列:加一类只改上面的 dict,Literal 与 422 校验自动跟上
|
||||
# (两处手写曾会漂移——漏一边即 500/422 不一致)
|
||||
MsgTypeParam = Literal[tuple(_MSG_TYPE_FILTER)]
|
||||
|
||||
|
||||
@router.get("/messages")
|
||||
|
||||
Reference in New Issue
Block a user