todoappbackend-2kj8pz/migrations/versions/002_add_user_roles.py
Automated Action 4cfde1a74a Add enhanced authentication features
- Add role-based access control (admin/user roles)
- Implement refresh token functionality
- Add token revocation (logout) capability
- Create admin-only endpoints
- Add role validation middleware
- Update documentation
2025-06-17 02:22:22 +00:00

30 lines
787 B
Python

"""add user roles
Revision ID: 002
Revises: 001
Create Date: 2023-11-16
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '002'
down_revision = '001'
branch_labels = None
depends_on = None
def upgrade():
# Add role column to users table
with op.batch_alter_table('users', schema=None) as batch_op:
batch_op.add_column(sa.Column('role', sa.Enum('admin', 'user', name='userrole'), nullable=True))
batch_op.execute("UPDATE users SET role = 'user' WHERE role IS NULL")
batch_op.alter_column('role', nullable=False, server_default='user')
def downgrade():
# Remove role column from users table
with op.batch_alter_table('users', schema=None) as batch_op:
batch_op.drop_column('role')