"""add reply_to_id field to messages table

为消息表添加 reply_to_id 字段，支持消息引用回复功能（M1）。
当消息是对某条消息的回复时，此字段指向被回复的消息ID。

新增字段：
- reply_to_id: VARCHAR(36), nullable, 被回复的消息ID

前端展示逻辑：
- reply_to_id 非空时，在消息气泡上方显示被回复消息的摘要
- 点击摘要可滚动到被回复的消息位置

Revision ID: 005_reply_to_id
Revises: 004_participants
Create Date: 2026-07-14 16:00:00.000000
"""

from alembic import op
import sqlalchemy as sa

# revision identifiers, used by Alembic.
revision = '005_reply_to_id'
down_revision = '004_participants'
branch_labels = None
depends_on = None


def upgrade() -> None:
    """添加 reply_to_id 字段到 messages 表。"""
    op.add_column(
        'messages',
        sa.Column(
            'reply_to_id',
            sa.String(36),
            nullable=True,
            comment='引用回复：被回复的消息ID',
        )
    )


def downgrade() -> None:
    """移除 reply_to_id 字段。"""
    op.drop_column('messages', 'reply_to_id')
