"""Update admin role enum values to uppercase

Revision ID: 0002
Revises: 0001
Create Date: 2024-06-01 00:30:00.000000

"""
from alembic import op
import sqlalchemy as sa

# revision identifiers, used by Alembic.
revision = '0002'
down_revision = '0001'
branch_labels = None
depends_on = None

def upgrade():
    # For MySQL, we need to alter the column directly
    op.execute("""
        ALTER TABLE admins
        MODIFY COLUMN role ENUM('ADMINISTRATOR', 'SUB_ADMIN') NOT NULL;
    """)

    # Update existing data to new enum values
    op.execute("""
        UPDATE admins
        SET role = 'ADMINISTRATOR'
        WHERE role = 'Administrator';
    """)
    op.execute("""
        UPDATE admins
        SET role = 'SUB_ADMIN'
        WHERE role = 'Sub admin';
    """)

def downgrade():
    # Revert to old enum values
    op.execute("""
        ALTER TABLE admins
        MODIFY COLUMN role ENUM('Administrator', 'Sub admin') NOT NULL;
    """)
    op.execute("""
        UPDATE admins
        SET role = 'Administrator'
        WHERE role = 'ADMINISTRATOR';
    """)
    op.execute("""
        UPDATE admins
        SET role = 'Sub admin'
        WHERE role = 'SUB_ADMIN';
    """)
