Files
SneakyScan/app/migrations/versions/003_add_scan_timing_fields.py

40 lines
1.2 KiB
Python

"""Add timing and error fields to scans table
Revision ID: 003
Revises: 002
Create Date: 2025-11-14
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic
revision = '003'
down_revision = '002'
branch_labels = None
depends_on = None
def upgrade():
"""
Add fields for tracking scan execution timing and errors.
New fields:
- started_at: When scan execution actually started
- completed_at: When scan execution finished (success or failure)
- error_message: Error message if scan failed
"""
with op.batch_alter_table('scans') as batch_op:
batch_op.add_column(sa.Column('started_at', sa.DateTime(), nullable=True, comment='Scan execution start time'))
batch_op.add_column(sa.Column('completed_at', sa.DateTime(), nullable=True, comment='Scan execution completion time'))
batch_op.add_column(sa.Column('error_message', sa.Text(), nullable=True, comment='Error message if scan failed'))
def downgrade():
"""Remove the timing and error fields."""
with op.batch_alter_table('scans') as batch_op:
batch_op.drop_column('error_message')
batch_op.drop_column('completed_at')
batch_op.drop_column('started_at')