fix(summary): 空表守卫容错——表未建(漏迁移的升级)也回退旧聚合,不 500
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -33,14 +33,20 @@ _SH = ZoneInfo("Asia/Shanghai")
|
||||
|
||||
|
||||
async def has_rows(session: AsyncSession) -> bool:
|
||||
"""汇总表是否已有数据(读端点的空表守卫:部署回填前自动回退旧实时聚合)。"""
|
||||
return bool(
|
||||
(
|
||||
await session.execute(
|
||||
sa.select(sa.func.count()).select_from(MsgDailyStats)
|
||||
)
|
||||
).scalar_one()
|
||||
)
|
||||
"""汇总表是否已有数据(读端点的空表守卫:部署回填前自动回退旧实时聚合)。
|
||||
|
||||
表还不存在(漏跑迁移的升级)与空表同视——回退旧路径,不 500。
|
||||
"""
|
||||
try:
|
||||
return bool(
|
||||
(
|
||||
await session.execute(
|
||||
sa.select(sa.func.count()).select_from(MsgDailyStats)
|
||||
)
|
||||
).scalar_one()
|
||||
)
|
||||
except (sa.exc.OperationalError, sa.exc.ProgrammingError):
|
||||
return False
|
||||
|
||||
|
||||
def day_key(ts_ms: int) -> int:
|
||||
|
||||
Reference in New Issue
Block a user