修正北京时间并更换新闻候选源

This commit is contained in:
Codex
2026-07-08 23:08:55 +08:00
parent 3ece2327c8
commit 88e1cf4b7a
10 changed files with 178 additions and 55 deletions
@@ -0,0 +1,45 @@
"""store business time in beijing timezone
Revision ID: 202607081530
Revises: 202607080900
Create Date: 2026-07-08 15:30:00
"""
from typing import Sequence, Union
from alembic import op
revision: str = "202607081530"
down_revision: Union[str, None] = "202607080900"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# 历史数据由UTC换算为北京时间,后续新数据由业务层直接写入北京时间。
op.execute("UPDATE agent_runs SET started_at = DATE_ADD(started_at, INTERVAL 8 HOUR)")
op.execute(
"UPDATE agent_runs SET finished_at = DATE_ADD(finished_at, INTERVAL 8 HOUR) "
"WHERE finished_at IS NOT NULL"
)
op.execute("UPDATE reports SET created_at = DATE_ADD(created_at, INTERVAL 8 HOUR)")
op.execute("UPDATE signals SET created_at = DATE_ADD(created_at, INTERVAL 8 HOUR)")
op.execute(
"UPDATE signals SET published_at = DATE_ADD(published_at, INTERVAL 8 HOUR) "
"WHERE published_at IS NOT NULL"
)
def downgrade() -> None:
# 回滚时恢复迁移前的UTC记录值,便于迁移链保持可逆。
op.execute("UPDATE agent_runs SET started_at = DATE_SUB(started_at, INTERVAL 8 HOUR)")
op.execute(
"UPDATE agent_runs SET finished_at = DATE_SUB(finished_at, INTERVAL 8 HOUR) "
"WHERE finished_at IS NOT NULL"
)
op.execute("UPDATE reports SET created_at = DATE_SUB(created_at, INTERVAL 8 HOUR)")
op.execute("UPDATE signals SET created_at = DATE_SUB(created_at, INTERVAL 8 HOUR)")
op.execute(
"UPDATE signals SET published_at = DATE_SUB(published_at, INTERVAL 8 HOUR) "
"WHERE published_at IS NOT NULL"
)