Files
LMS/backend/alembic/versions/0002_add_role_status.py

50 lines
1.3 KiB
Python

"""add role and status to users
Revision ID: 0002_add_role_status
Revises: 0001_initial_schema
Create Date: 2026-04-01
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision = "0002_add_role_status"
down_revision = "0001"
branch_labels = None
depends_on = None
user_role = postgresql.ENUM("admin", "teacher", "student", name="user_role")
user_status = postgresql.ENUM("pending", "approved", "rejected", name="user_status")
def upgrade() -> None:
user_role.create(op.get_bind(), checkfirst=True)
user_status.create(op.get_bind(), checkfirst=True)
op.add_column(
"users",
sa.Column(
"role",
sa.Enum("admin", "teacher", "student", name="user_role"),
nullable=False,
server_default="student",
),
)
op.add_column(
"users",
sa.Column(
"status",
sa.Enum("pending", "approved", "rejected", name="user_status"),
nullable=False,
server_default="pending",
),
)
def downgrade() -> None:
op.drop_column("users", "status")
op.drop_column("users", "role")
user_role.drop(op.get_bind(), checkfirst=True)
user_status.drop(op.get_bind(), checkfirst=True)