"""Run 事件流与当前分支 Revision ID: 5cf6d328c10a Revises: 4cc407ec8268 Create Date: 2026-09-10 13:13:16.305296 """ from collections.abc import Sequence import sqlalchemy as sa from sqlalchemy.dialects import postgresql from alembic import op # revision identifiers, used by Alembic. revision: str = '5cf6d328c10a' down_revision: str | Sequence[str] | None = '4cc407ec8268' branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.create_table('run_event', sa.Column('id', sa.String(), nullable=False), sa.Column('run_id', sa.String(), nullable=False), sa.Column('sequence', sa.Integer(), nullable=False), sa.Column('type', sa.String(), nullable=False), sa.Column('data', postgresql.JSONB(astext_type=sa.Text()), nullable=False), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False), sa.CheckConstraint("type IN ('content.block.started', 'content.block.delta', 'content.block.progress', 'content.block.completed', 'content.block.failed', 'content.block.cancelled', 'message.completed', 'run.status.changed')", name=op.f('ck_run_event_type_values')), sa.ForeignKeyConstraint(['run_id'], ['run.id'], name=op.f('fk_run_event_run'), ondelete='cascade'), sa.PrimaryKeyConstraint('id', name=op.f('pk_run_event')) ) op.create_index('uq_run_event_run_sequence', 'run_event', ['run_id', 'sequence'], unique=True) op.add_column('conversation', sa.Column('current_branch_id', sa.String(), nullable=True)) op.create_foreign_key(op.f('fk_conversation_branch'), 'conversation', 'branch', ['current_branch_id'], ['id'], ondelete='set null', use_alter=True) # ### end Alembic commands ### def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.drop_constraint(op.f('fk_conversation_branch'), 'conversation', type_='foreignkey') op.drop_column('conversation', 'current_branch_id') op.drop_index('uq_run_event_run_sequence', table_name='run_event') op.drop_table('run_event') # ### end Alembic commands ###