31 lines
1008 B
Python
31 lines
1008 B
Python
"""add email verification
|
|
|
|
Revision ID: f3a1c8e2b950
|
|
Revises: adee6bcc23e1
|
|
Create Date: 2026-03-25 00:00:00.000000
|
|
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
revision: str = 'f3a1c8e2b950'
|
|
down_revision: Union[str, Sequence[str], None] = 'cd7ebb9b11bd'
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
# Existing users are considered verified so they aren't locked out.
|
|
op.add_column('users', sa.Column('email_verified', sa.Boolean(), nullable=False, server_default='true'))
|
|
op.add_column('users', sa.Column('email_verification_token', sa.String(), nullable=True))
|
|
op.add_column('users', sa.Column('email_verification_token_expires_at', sa.DateTime(), nullable=True))
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.drop_column('users', 'email_verification_token_expires_at')
|
|
op.drop_column('users', 'email_verification_token')
|
|
op.drop_column('users', 'email_verified')
|