"""add 'failed' to hr_sync_batches status enum Revision ID: 016 Revises: 015 Create Date: 2026-04-15 """ import sqlalchemy as sa from alembic import op revision = '016' down_revision = '015' branch_labels = None depends_on = None def _table_exists(conn, table_name): result = conn.execute(sa.text( "SELECT COUNT(*) FROM information_schema.tables " "WHERE table_schema = DATABASE() AND table_name = :t" ), {"t": table_name}) return result.scalar() > 0 def upgrade(): conn = op.get_bind() if not _table_exists(conn, 'hr_sync_batches'): return op.execute( "ALTER TABLE hr_sync_batches MODIFY COLUMN status " "ENUM('pending_review', 'confirmed', 'cancelled', 'failed') " "NOT NULL DEFAULT 'pending_review'" ) def downgrade(): conn = op.get_bind() if not _table_exists(conn, 'hr_sync_batches'): return op.execute( "ALTER TABLE hr_sync_batches MODIFY COLUMN status " "ENUM('pending_review', 'confirmed', 'cancelled') " "NOT NULL DEFAULT 'pending_review'" )