geo/backend/alembic/versions/c3d5e7f9ab12_add_user_manag...

41 lines
1.6 KiB
Python

"""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')