"""插件沙箱执行记录 Revision ID: 4e679f11da46 Revises: 89a4ed9647ee Create Date: 2026-09-12 13:33:43.279920 """ from collections.abc import Sequence import sqlalchemy as sa from alembic import op # revision identifiers, used by Alembic. revision: str = '4e679f11da46' down_revision: str | Sequence[str] | None = '89a4ed9647ee' 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('plugin_execution', sa.Column('id', sa.String(), nullable=False), sa.Column('installation_id', sa.String(), nullable=False), sa.Column('status', sa.String(), nullable=False), sa.Column('exit_code', sa.Integer(), nullable=True), sa.Column('duration_ms', sa.Integer(), nullable=True), sa.Column('stdout_excerpt', sa.String(), nullable=True), sa.Column('error', sa.String(), nullable=True), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False), sa.Column('completed_at', sa.DateTime(timezone=True), nullable=True), sa.CheckConstraint("status IN ('running', 'succeeded', 'failed', 'timeout', 'killed')", name=op.f('ck_plugin_execution_status_values')), sa.ForeignKeyConstraint(['installation_id'], ['plugin_installation.id'], name=op.f('fk_plugin_execution_plugin_installation'), ondelete='cascade'), sa.PrimaryKeyConstraint('id', name=op.f('pk_plugin_execution')) ) op.create_index(op.f('ix_plugin_execution_installation_id'), 'plugin_execution', ['installation_id'], unique=False) # ### end Alembic commands ### def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.drop_index(op.f('ix_plugin_execution_installation_id'), table_name='plugin_execution') op.drop_table('plugin_execution') # ### end Alembic commands ###