"""Initial migration

Revision ID: 0001
Revises: 
Create Date: 2024-06-01 00:00:00.000000

"""
from alembic import op
import sqlalchemy as sa
import sqlalchemy_utils

# revision identifiers, used by Alembic.
revision = '0001'
down_revision = None
branch_labels = None
depends_on = None

def upgrade():
    op.create_table(
        'admins',
        sa.Column('id', sa.Integer, primary_key=True, index=True),
        sa.Column('username', sa.String(length=50), unique=True, index=True, nullable=False),
        sa.Column('email', sa.String(length=100), unique=True, index=True, nullable=False),
        sa.Column('password_hash', sa.String(length=255), nullable=False),
        sa.Column('role', sa.Enum('Administrator', 'Sub admin', name='adminrole'), nullable=False),
        sa.Column('is_active', sa.Boolean, default=True),
        sa.Column('created_at', sa.DateTime, server_default=sa.func.now()),
        sa.Column('updated_at', sa.DateTime, server_default=sa.func.now(), onupdate=sa.func.now()),
    )

def downgrade():
    op.drop_table('admins')
    sa.Enum(name='adminrole').drop(op.get_bind(), checkfirst=False)
