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:
|
async def has_rows(session: AsyncSession) -> bool:
|
||||||
"""汇总表是否已有数据(读端点的空表守卫:部署回填前自动回退旧实时聚合)。"""
|
"""汇总表是否已有数据(读端点的空表守卫:部署回填前自动回退旧实时聚合)。
|
||||||
return bool(
|
|
||||||
(
|
表还不存在(漏跑迁移的升级)与空表同视——回退旧路径,不 500。
|
||||||
await session.execute(
|
"""
|
||||||
sa.select(sa.func.count()).select_from(MsgDailyStats)
|
try:
|
||||||
)
|
return bool(
|
||||||
).scalar_one()
|
(
|
||||||
)
|
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:
|
def day_key(ts_ms: int) -> int:
|
||||||
|
|||||||
Reference in New Issue
Block a user