| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- """add password_reset_request_log
- Revision ID: a2c893432a1f
- Revises: 3b96bd12a533
- Create Date: 2026-07-26 19:52:07.317867
- """
- from alembic import op
- import sqlalchemy as sa
- # revision identifiers, used by Alembic.
- revision = 'a2c893432a1f'
- down_revision = '3b96bd12a533'
- branch_labels = None
- depends_on = None
- def upgrade():
- # ### commands auto generated by Alembic - please adjust! ###
- op.create_table('password_reset_request_log',
- sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
- sa.Column('email', sa.String(length=254), nullable=False),
- sa.Column('requested_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False),
- sa.PrimaryKeyConstraint('id')
- )
- op.create_index(op.f('ix_password_reset_request_log_email'), 'password_reset_request_log', ['email'], unique=False)
- op.create_table('password_reset_tokens',
- sa.Column('id', sa.UUID(as_uuid=False), nullable=False),
- sa.Column('user_id', sa.UUID(as_uuid=False), nullable=False),
- sa.Column('token_hash', sa.String(length=64), nullable=False),
- sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False),
- sa.Column('expires_at', sa.DateTime(timezone=True), nullable=False),
- sa.Column('used_at', sa.DateTime(timezone=True), nullable=True),
- sa.Column('purpose', sa.String(length=32), nullable=False),
- sa.ForeignKeyConstraint(['user_id'], ['user_model.id'], ondelete='CASCADE'),
- sa.PrimaryKeyConstraint('id')
- )
- op.create_index(op.f('ix_password_reset_tokens_token_hash'), 'password_reset_tokens', ['token_hash'], unique=True)
- op.create_index(op.f('ix_password_reset_tokens_user_id'), 'password_reset_tokens', ['user_id'], unique=False)
- # ### end Alembic commands ###
- def downgrade():
- # ### commands auto generated by Alembic - please adjust! ###
- op.drop_index(op.f('ix_password_reset_tokens_user_id'), table_name='password_reset_tokens')
- op.drop_index(op.f('ix_password_reset_tokens_token_hash'), table_name='password_reset_tokens')
- op.drop_table('password_reset_tokens')
- op.drop_index(op.f('ix_password_reset_request_log_email'), table_name='password_reset_request_log')
- op.drop_table('password_reset_request_log')
- # ### end Alembic commands ###
|