diff --git a/video-gen-api/alembic/versions/2026070902_add_generated_date_expression_indexes.py b/video-gen-api/alembic/versions/2026070902_add_generated_date_expression_indexes.py index 8520a8c6..f71fafa5 100644 --- a/video-gen-api/alembic/versions/2026070902_add_generated_date_expression_indexes.py +++ b/video-gen-api/alembic/versions/2026070902_add_generated_date_expression_indexes.py @@ -24,16 +24,19 @@ def upgrade() -> None: # ======================================== # 2026-07-09 - 生成记录表增加日期表达式索引 # ======================================== + # 使用 (generated_at AT TIME ZONE 'UTC')::date 而非 date(generated_at), + # 因为 date(timestamp with time zone) 在 PostgreSQL 中是 STABLE(依赖会话时区), + # 不能用于索引表达式;转为无时区时间戳后再转 date 才是 IMMUTABLE。 op.create_index( 'idx_chat_generation_tasks_generated_date', 'chat_generation_tasks', - [sa.text("date(generated_at)")], + [sa.text("(generated_at AT TIME ZONE 'UTC')::date")], unique=False, ) op.create_index( 'idx_generation_records_generated_date', 'generation_records', - [sa.text("date(generated_at)")], + [sa.text("(generated_at AT TIME ZONE 'UTC')::date")], unique=False, )