38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
"""add_email_verification_expires
|
|
|
|
Revision ID: 010_add_email_exp
|
|
Revises: 009_add_all_missing
|
|
Create Date: 2026-01-05
|
|
|
|
Fixes:
|
|
- Add missing email_verification_expires column to users table
|
|
"""
|
|
from typing import Sequence, Union
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = '010_add_email_exp'
|
|
down_revision: Union[str, None] = '009_add_all_missing'
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
"""Add email_verification_expires column (skip if already exists)"""
|
|
from sqlalchemy import inspect
|
|
|
|
conn = op.get_bind()
|
|
inspector = inspect(conn)
|
|
existing_columns = {col['name'] for col in inspector.get_columns('users')}
|
|
|
|
# Add email_verification_expires if missing
|
|
if 'email_verification_expires' not in existing_columns:
|
|
op.add_column('users', sa.Column('email_verification_expires', sa.DateTime(), nullable=True))
|
|
|
|
|
|
def downgrade() -> None:
|
|
"""Remove email_verification_expires column"""
|
|
op.drop_column('users', 'email_verification_expires')
|