"""Add user management fields Revision ID: c3d5e7f9ab12 Revises: b2c4d6e8fa10 Create Date: 2026-04-24 10:00:00.000000 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = 'c3d5e7f9ab12' down_revision: Union[str, Sequence[str], None] = 'b2c4d6e8fa10' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Add user management fields to users table.""" op.add_column('users', sa.Column('email_verified', sa.Boolean(), server_default='false', nullable=False)) op.add_column('users', sa.Column('verification_code', sa.String(6), nullable=True)) op.add_column('users', sa.Column('verification_code_expires', sa.DateTime(), nullable=True)) op.add_column('users', sa.Column('reset_token', sa.String(255), nullable=True)) op.add_column('users', sa.Column('reset_token_expires', sa.DateTime(), nullable=True)) op.add_column('users', sa.Column('avatar_url', sa.String(500), nullable=True)) op.add_column('users', sa.Column('is_admin', sa.Boolean(), server_default='false', nullable=False)) def downgrade() -> None: """Remove user management fields from users table.""" op.drop_column('users', 'is_admin') op.drop_column('users', 'avatar_url') op.drop_column('users', 'reset_token_expires') op.drop_column('users', 'reset_token') op.drop_column('users', 'verification_code_expires') op.drop_column('users', 'verification_code') op.drop_column('users', 'email_verified')